Closed franyack closed 6 years ago
En el siguiente proyecto https://github.com/franyack/IMachineAppV2/tree/mvp-arquitecture (commit 6) se pudo adaptar el desarrollo de la aplicación siguiendo la metodología de desarrollo MVP.
Solo me surge una duda: la clase donde se gestiona toda la información y se resuelve la lógica de la app se llama DataManager. La decisión que tomé fue la de usar sólo esta clase para desarrollar los diferentes métodos que utilizan las activities desarrolladas hasta el momento (MainActivity y ResultsActivity), pero hoy con la adaptación resuelta y pensando un poco me surge la siguiente duda: No debería modularizar y realizar 2 clases diferentes para DataManager, donde en la primera se gestione toda la información necesaria para el MainActivity y en la segunda todo lo relacionado a ResultsActivity? O estaría de alguna manera no respetando la metodología?
Como se puede ver en el commit 9 del repo https://github.com/franyack/IMachineAppV2/tree/mvp-arquitecture, se dividió la gestión de información en 2 clases diferentes (MainActivityModel y ResultsActivityModel). Además, se movió a un package todas las clases que se refieren al procesamiento de las imágenes, sacando las dependencias con Android que tenía con el objetivo de modularizar por un lado el motor de procesamiento y por el otro la aplicación que usa métodos del primero.
Esto me parece que se logró correctamente. Se puede cerrar este issue?
Si, como decís se pudo lograr, por lo que el issue es cerrado.
Ya que no es una buena práctica cargar de lógica a las actividades que se encargan de interactuar con el usuario, se decidió seguir el desarrollo de la aplicación bajo una arquitectura Model-View-Presenter.
En este issue se irán informando los avances con respecto a la adaptación de todo lo realizado hasta el momento hacía este modelo. Buscando información me topé con una guía bastante entendible que además presenta un desarrollo de ejemplo: https://github.com/MindorksOpenSource/android-mvp-architecture. Tomando como referencia esto y trabajando sobre el proyecto https://github.com/franyack/IMachineAppV2 se irán realizando adaptaciones y cambios.