Arquitectura Mobile¶
La app Flutter de Vertivo sigue los principios de Clean Architecture, separando el codigo en tres capas bien definidas que permiten testabilidad, mantenibilidad y separacion de responsabilidades.
Capas de la arquitectura¶
Dominio (Domain Layer)¶
Contiene las entidades de negocio, los casos de uso (use cases) y las interfaces de repositorio. Esta capa es pura Dart, sin dependencias de Flutter ni de paquetes externos. Define que hace la aplicacion.
Datos (Data Layer)¶
Implementa los repositorios definidos en el dominio. Se conecta con el cliente Serverpod generado, maneja el cache local y transforma los modelos del servidor a entidades del dominio. Define como se obtienen los datos.
Presentacion (Presentation Layer)¶
Contiene los widgets, las paginas y los providers de Riverpod. Los providers exponen el estado de la UI consumiendo los casos de uso del dominio. Define como se muestra la informacion.
Diagrama de dependencias¶
Presentation --> Domain <-- Data
(Widgets, (Entities, (Repositories,
Providers) Use Cases) Serverpod Client)
La regla de dependencia fluye siempre hacia el dominio: la capa de presentacion y la capa de datos dependen del dominio, pero el dominio no depende de ninguna de las otras dos.