Untitled

Antes de comenzar, si sientes que ya conoces los conceptos básicos de arquitectura limpia, puedes continuar al siguiente tema, allí empezaremos a ver a profundidad Clean Architecture aplicado en Flutter.

Arquitectura de Software

Es la parte del desarrollo de soluciones que permite estructurar nuestros proyectos y definir los lineamientos que tendremos que seguir en durante la implementación de los componentes de nuestra solución. Su principal objetivo es que el desarrollo sea fácil de implementar, operar y mantener.

Cuando logramos diseñar una buena arquitectura de software, a nuestra solución le será fácil adaptarse al cambio de forma oportuna sin alterar su estabilidad.

También, la arquitectura de nuestra solución debería buscar la independencia entre sus diferentes capas. Por ejemplo, si en la evolución de nuestra solución, debemos cambiar la base de datos, una API o cualquier otro componente de nuestro desarrollo; esto no debería afectar la capa de presentación. La arquitectura solo deberá verse afectada cuando cambian de manera drástica las reglas del negocio.

Clean Architecture no es tu única alternativa

Antes de entrar en el detalle de esta forma de diseñar tus arquitecturas; te quiero comentar que:

Clean Architecture no es una bala de plata; es decir, no estás obligado, ni es necesario aplicarla a todas tus soluciones. No obstante, todas tus soluciones deberían tener una buena arquitectura de software

.

En el caso de Flutter recomiendo analizar en cada escenario, cuál tipo de arquitectura se ajusta más a tus necesidades. Existen muchas podemos utilizar como:

En otro artículo profundizaremos más sobre el tema de selección de arquitecturas.

Clean Architecture

Si traducimos en Traductor de Google: Clean Architecture, nos arroja lo siguiente:

110% real, no fake 🤯🤣

En efecto: Es un arquitectura de software diseñada por Robert C. Martin, que consiste en conjunto de capas bien definidas, las cuales están centradas en el dominio (el negocio y sus reglas). Puedes encontrar su libro acá: *Clean Architecture: A Craftsman’s Guide to Software Structure and Design, First Edition.*