Integracion apps django

Hola,

estoy desarrollando en Django una aplicación para llevar mis finanzas personales, que va a sacar la data de varios lados (sistema Toshl, exchanges, blockchain, etc.) y estaba pensando cual era la mejor forma de integrar todo (tratando de usar el principio solid), por eso descarto la idea de tener varias apps que compartan el mismo modelo.

Mi disyuntiva está entre las siguientes opciones:

  • hacer una app por cada source y una app (que tenga el modelo) que se comunique con las apps de cada source via serializers de django rest framework
  • directamente que los sources hereden de una clase conocida y que estén todas esas clases en un directorio así la app principal lee todos los archivos de ese directorio importando todas las clases que heredan de la clase AbstractSource, y si el source es mas complicado hago una app que es llamada por la clase del source.

Uds que opinan y/o que patron/es aplicarían?

Gracias,

Javier.

Buenas!, yo soy de esos q prefieren tener algo funcional primero: tener
una única app q sea capaz de recolectar la data de varios lados
y presentarla de forma efectiva.

Cuando vayas agregando las funcionalidades te iras dando cuenta de que
aparecen patrones y de ahí haces las abstracciones necesarias con
refactor. [1]

Si vez que tu proyecto puede ser de interés a otros pero q no
necesariamente quieran tener toda la funcionalidad q vos ofreces, ahí
podes separar tu app en multiples apps para q sean como plugins y sean
los otros quienes decidan q usar y q no.

Notar q en [1] dije “aparecen patrones”. En mi experiencia “poner”
patrones de diseño es un error q solo hace q el código sea mas
burocrático.

En vez de “poner” patrones, enfocate en codear tu solución. Cuando veas
código repetido lo refactorizas. Veras que con un par de iteraciones
terminas implementando un patron de diseño.

Realmente vos no lo “pusiste” sino q “apareció” solo.

1 me gusta