Arquitectura limpia: Guía para especialistas en la estructura y el diseño de software

Arquitectura limpia: Guía para especialistas en la estructura y el diseño de software
Robert C. Martin
Géneros: Programación
Año de publicación: 2018
Año de lectura: 2020
Mi calificación: Buena
Número de lecturas: 1
Páginas totales: 352
Resumen (páginas): 0
Idioma original de la publicación: Inglés
Traducciones a otros idiomas: Ruso, Español, Portugués, Chino, Francés

El libro consta de 7 partes, cada una de las cuales, a su vez, se compone de varios capítulos (de 5 a 10). Vamos a revisar brevemente las secciones.

Introducción

Aquí todo es usual y estándar. Qué es la arquitectura limpia y por qué es necesaria. La información se presenta en forma de varios gráficos, como el crecimiento del número de empleados durante un período determinado y su productividad (que, como puedes imaginar, no aumentó, ya que se trata de cómo una mala arquitectura puede matar y ralentizar un proyecto).

Fundamentos: Paradigmas de Programación

La sección comienza con una breve historia de la programación desde los tiempos de Alan Turing y los primeros lenguajes. Se describe la programación estructurada, la POO y la programación funcional. Se mencionan algunas palabras sobre las pruebas. Hay ejemplos de código — están en C.

Principios de Diseño

Aquí ya se menciona un patrón, o más bien la regla SOLID. Básicamente, eso es todo. 5 capítulos separados, cada uno cubriendo un principio.

Principios de Organización de Componentes

La sección incluye un análisis del concepto de componente. Un componente también puede entenderse como módulos y otras piezas de código independientes. También se tratan temas como la cohesión y el acoplamiento de los componentes. Se presta atención a las abstracciones, al diseño de arriba hacia abajo y de abajo hacia arriba. Se plantean los problemas de las dependencias cíclicas entre componentes.

Arquitectura

Aquí empieza algo más interesante y práctico. Aunque el comienzo de la sección todavía se inclina más hacia lo puramente teórico, ya que se habla de las etapas (fases) del desarrollo de software. Además, desde el principio, el autor toca un tema importante como la separación de las capas de código, que luego se detallan en los capítulos siguientes de esta sección. Una de las cosas más difíciles, según el autor, al separar el código es definir los límites (entre componentes), y es difícil no estar de acuerdo. Se describen un par de ejemplos e historias reales. También se aborda el tema de los monolitos. Finalmente, tras enumerar muchas trampas, el autor aborda el tema de la arquitectura limpia. En su visión, la arquitectura limpia es una estructura en capas, tipo cebolla, que comienza con las reglas de la lógica de negocio y termina con el último nivel en forma de sistemas de entrada/salida e interfaces diversas. Se discute brevemente el rol y lugar de las bases de datos en dicha arquitectura y otros patrones, como controladores, modelos y otros, dentro de la arquitectura limpia.

Detalles

Así se titula una de las últimas secciones. Aquí se presta más atención al rol de las bases de datos en un proyecto y a las interfaces web. Se dice que un framework es solo una herramienta y que no se debe seguir estrictamente la arquitectura recomendada por un framework en particular. El libro termina con un apéndice que describe cómo eran las computadoras antes y cómo se trabajaba con ellas.

Conclusión

Comencemos con los puntos positivos o, mejor dicho, con las características de este libro. Es fácil y rápido de leer, ya que tiene poco código, pero, por el contrario, se encuentran diagramas y esquemas de flujo. Hay ilustraciones en cada capítulo con un estilo unificado y adecuado. Entre los aspectos negativos — este libro es más para desarrolladores principiantes. Los novatos deben leerlo detenidamente, los más experimentados probablemente lo hojeen (no tomará mucho tiempo), y para los desarrolladores y arquitectos de software veteranos, es poco probable que el libro resulte útil.

Вверх