Arquitectura de Aplicación Web Limpia y Cómo Usarla en Aplicaciones Web

Como resultado de utilizar este enfoque, no estarás atado a un framework específico y podrás cambiar fácilmente la biblioteca de vista dentro de tu aplicación, como React, Preact, Vue, Mithril, sin tener que reescribir la lógica de negocios y, en la mayoría de los casos, las vistas. Puedes migrar fácilmente la aplicación a una biblioteca más popular sin tener que reescribir la lógica de negocios.

Arquitectura limpia de aplicaciones web

Testabilidad

Las reglas de negocio pueden ser probadas sin una interfaz de usuario, base de datos, servidor web u otros componentes externos.

Independiente de la interfaz de usuario

La interfaz de usuario puede ser cambiada fácilmente sin afectar el resto del sistema.

Independiente de la base de datos

Puedes reemplazar Oracle o SQL Server con MongoDB, BigTable, CouchDB o cualquier otra base de datos. Tus reglas de negocio no están relacionadas con la base de datos.

Independencia de cualquier servicio externo

Las reglas de negocio simplemente no conocen nada sobre el mundo exterior. Durante muchos años, las ideas descritas en este libro han sido la base para la creación de aplicaciones complejas en una amplia variedad de campos. Esta flexibilidad se logra dividiendo la aplicación en capas de Servicio, Repositorio y Modelo.

Controlador

Responsable de interactuar con el usuario a través de IO.

Servicio

Responsable de la lógica de negocio y su reutilización entre componentes.

Almacenamiento

Responsable de recuperar datos de fuentes externas como bases de datos, APIs, almacenamiento local, etc.

Modelos

Responsable de la transferencia de datos entre capas y sistemas, así como de la lógica para procesar estos datos.

LEAR  Colores del iPhone 16: ¿Qué está de moda y qué no para 2024?

¿Para quién está destinada la arquitectura limpia?

Ahora las aplicaciones web son tan grandes que la cantidad de lógica de negocio se ha vuelto comparable o incluso mayor que en aplicaciones de servidor, escritorio y móviles.

¿Cómo utilizar la arquitectura limpia en aplicaciones web?

Angular es un framework monolítico

Fue simplemente trasladado tal cual, sin considerar las particularidades de las aplicaciones web y sin tener en cuenta el sistema de importación modular de JavaScript moderno.

Motor de vista terrible

Es muy primitivo y se queda muy corto en comparación con la simplicidad de JSX. Los datos no se escriben en la fase de escritura de código y compilación.

¿Qué pasa con otros frameworks?

Extensión de la funcionalidad de los componentes del framework

Como bonificación, obtuvimos la capacidad de añadir o cambiar el comportamiento de los componentes de la biblioteca de presentación. Utilizando el enfoque de Arquitectura Limpia, React renderiza más que solo el componente donde se produjo el error. Puedes añadir monitoreo, análisis y otras características con la misma facilidad.

Validación de datos

Además de describir datos y transferir datos entre capas, los modelos tienen grandes posibilidades. Por ejemplo, si incluyes la biblioteca class-validator, con solo agregar decoradores puedes validar datos en estos modelos, incluido con un poco de ajuste puedes validar formularios web.

Creación de entidades

Si necesitas trabajar con una base de datos local, puedes vincular la biblioteca TypeORM y tus modelos se transformarán en entidades con las que se generará y operará la base de datos.

Conclusión

Si tu lógica de negocio está en el backend y tu tarea es recibir datos, mostrarlos al cliente y procesar los clics de botón, entonces no sentirás la flexibilidad de la Arquitectura Limpia.

LEAR  watchOS 10: Cómo cambiar las caras del Apple Watch