Curso de Clean Architecture con Flutter

Fernando Souto Gonzalez
2 min readApr 18, 2020

--

En este artículo voy a hacer una recopilación de los vídeos que conforman un curso sobre CLEAN Architecture con Flutter que estoy publicando en Youtube.

Voy a usar como guía de ejemplo el repositorio radiocom-flutter que hace uso de esta arquitectura y además tiene implementados los tipos de tests que se pueden hacer con Flutter.

La teoría

Si aún no habéis visto un esquema parecido al de abajo quiere decir que probablemente aún no leísteis el libro de Clean Architecture de Uncle Bob que recomiendo leer para comprender mejor lo que estamos intentando implementar. Básicamente buscamos cumplir los siguientes objetivos:

  • independiente de frameworks
  • código testable
  • código mantenible

El curso

En este curso voy a presentar una serie de 4 vídeos para explicar cada una de la capas y cómo hacer los tests en cada una de ellas. Es una implementación concreta en flutter del mismo y las opciones de implementar son infinitas siempre y cuando se respeten los principios SOLID.

1. Datasource

Acceso a datos de cualquier tipo y a modo de ejemplo sin querer hacer una lista exhaustiva:

  • backend
  • base de datos
  • preferencias
  • ficheros
Parte uno del curso sobre los DATA SOURCES

2. Data

Es el encargado de gestionar los datasources y aplicaremos el patrón repository. Esta capa solo conoce los contratos de los datasources pero no la implementación concreta de las mismas.

Parte dos del curso sobre la capa DATA

3. Domain

Es el centro de todo. En esta capa definiremos los interactors y llamará a los contratos de la capa data para pedirle que haga determinadas operaciones.

Parte tres del curso sobre la capa de DOMAIN

4. Presentation

Es la capa con la que interactúa el usuario a través de la vista. Es la encargada de llamar a la capa de dominio para ejecutar los casos de usos y recibir una respuesta de este.

Parte cuarta del curso sobre la capa de PRESENTATION

Si os gustó la serie de videos caseros dadme feedback para que me anime a seguir haciendo mas :)

--

--