No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Clean Architecture en el Frontend

4/15

Aportes 4

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

  • Patrones de arquitectura: el objetivo es separar responsabilidades.

Clean Architecture

  • Patrón de arquitectura clean architecture o arquitectura limpia: esta arquitectura también se basa en capas
    • Entidades: son los objetos de negocio. Por ejemplo, en Platzi las entidades podrían ser los cursos, los profesores, los estudiantes, etc.
    • Casos de uso: son las reglas de negocio. Por ejemplo, en Platzi podría ser las creación de un curso, que un estudiante se inscriba a un curso, mostrar las valoraciones de un curso, etc.
  • Las capas “entidades” y “casos de uso” son el núcleo que se encarga de la lógica de nuestro negocio. Es la forma en la que codificamos o describimos sómo se usa en el mundo real, y es lo que realmente marca la diferencia con otras aplicaciones y lo que le da el valor diferencial al usuario.
    • Adaptadores de interfaz: en esta capa se encuentran los controladores, los presentadores, lo modelos de vista. Acá podriamos tener todo el patrón MVC.
    • Bibliotecas de terceros: acá se encuentran los frameworks y drivers. Por ejemplo en Platzi podriamos tener la biblioteca de React, de Redux, la de React Router, etc.
      .
  • Todas estas capas se basan en una regla: nada, nada de una capa interior puede conocer nada de una capa exterior. Es decir, que la capa “entidades” no puede conocer nada de la capa “capas de uso”. A esto se le llama “regla de la dependencia”.
  • La “regla de la dependencia” es la base en la que se sustenta que una aplicación siga el patrón de clean architecture.

Desventaja del clean architecture

  • Puede que la curva de aprendizaje sea muy pronunciada. Conseguir que todo el equipo sepa y entienda aplicar esta arquitectura no es una tarea fácil.
  • La separación de las capas es un trabajo manual. Requiere experiencia y es fácil confundir responsabilidades.
  • En general es un patrón que se aplica mejor a aplicaciones grandes.
  • La velocidad de desarrollo al principio sea más lenta

Ventajas

  • Ayuda a estructurar el código y la navegación por el mismo.
  • Cambios en una capa no afectan a otras.
  • Poder crear tests que solo prueben, por ejemplo, la lógica del negocio
angular trabaja con este patrón definitivamente lo malo es que la curva de aprendizaje es alta pero vale la pena

Excelente, me ha gustado mucho esta clase, super clara.
En la empresa donde laboro usamos Clean Arquitecture con Angular para aplicaciones bastante grandes y complejas.
Y usamos Screaming arquitecture orientada a Features con React para los sitios web corporativos.

Clean architecture esta basado en la separacion de capas, de manera analoga podriamos decir que es como un juguete matrioska, el cual son varios juguetes uno dentro de otro, el mas grande puede copar al mas pequeño, pero caso contrario eso no puede suceder. Asi seria una manera de entender la arquitectura basada en capaz, si alguno de los mas pequeños llega a necesitar saber de los grandes, aqui deberiamos utilizar la inversion de dependencias para poder comunicar la parte interna con la externa, dado a que este viene es por capaz.