martes, 23 de diciembre de 2014

Arquitecura de Android SOLID(A) I

Continua en la Parte II y Parte III

Como ya comenté en una diatriba en un post anterior, la segregación de responsabilidades en Android es un maldito infierno debido a que las infames Actividades establecen los eventos de la vista, reciben los mensajes del bucle de mensajes del contexto de la aplicación, controlan su ciclo de vida, etc.

Para poder cumplir el principio de responsabilidad única y un diseño SOLID hemos de segregar las responsabilidades y proporcionar los mecanismos adecuados para su intercomunicación.

Para ello he preparado un pequeño ejemplo que, aunque muy muy básico para usarse en el mundo real, puede representar un buen comienzo y/o un buen ejemplo para que se comprenda y se pueda empezar a crear una arquitectura en Android decente.

Este ejemplo se compondrá de:
  • Un Modelo que representa el estado y el comportamiento de nuestra entidad de negocio.
  • Un Modelo de Vista que representará el estado de la vista.
  • Un Controlador que recibe las llamadas de la vista, realiza las operaciones con las entidades de dominio y manda notificaciones a la vista.
  • Una vista que muestra el modelo y el modelo de vista, llama al controlador para aplicar reglas de dominio y ofrece el feedback al usuario con las notificaciones del controlador.