Arquitetura Limpa. O Guia do Artesao Para Estrutura e Design de Software

Arquitetura Limpa. O Guia do Artesao Para Estrutura e Design de Software
Robert C. Martin
Gêneros: Programação
Ano de publicação: 2018
Ano de leitura: 2020
Minha avaliação: Boa
Número de leituras: 1
Total de páginas: 352
Resumo (páginas): 0
Idioma original da publicação: Inglês
Traduções para outros idiomas: Russo, Espanhol, Português, Chinês, Francês

O livro é composto por 7 partes, cada uma das quais, por sua vez, contém vários capítulos (de 5 a 10). Vamos analisar brevemente as seções.

Introdução

Aqui tudo é usual e padrão. O que é arquitetura limpa e por que ela é necessária. As informações são apresentadas em forma de vários gráficos, como o crescimento no número de funcionários durante um determinado período e sua produtividade (que, como você pode imaginar, não aumentou, pois trata-se de como uma má arquitetura pode matar e desacelerar um projeto).

Fundamentos: Paradigmas de Programação

A seção começa com uma breve história da programação desde os tempos de Alan Turing e das primeiras linguagens. É descrita a programação estruturada, a programação orientada a objetos e a programação funcional. Algumas palavras são ditas sobre testes. Há exemplos de código — estão em C.

Princípios de Design

Aqui já é feita uma menção a um padrão, ou melhor, à regra SOLID. Basicamente, é isso. 5 capítulos separados, cada um cobrindo um princípio.

Princípios de Organização de Componentes

A seção inclui uma análise do conceito de componente. Um componente também pode ser entendido como módulos e outras partes independentes de código. Também são abordados temas como coesão e acoplamento dos componentes. Dá-se atenção às abstrações, ao design de cima para baixo e de baixo para cima. São levantados os problemas das dependências cíclicas entre componentes.

Arquitetura

Aqui começa algo mais interessante e prático. Embora o início da seção ainda seja mais teórico, pois fala-se das etapas (fases) do desenvolvimento de software. Além disso, já no início, o autor aborda um tema importante como a separação dos níveis do código, que são posteriormente detalhados nos capítulos seguintes desta seção. Uma das coisas mais difíceis, segundo o autor, ao separar o código, é definir os limites (entre componentes), e é difícil discordar. São descritos alguns exemplos e histórias reais. Também é tratado o tema dos monólitos. Finalmente, após listar muitas armadilhas, o autor chega ao tema da arquitetura limpa. Em sua visão, a arquitetura limpa é uma estrutura em camadas, tipo cebola, que começa com as regras da lógica de negócios e termina com o último nível, na forma dos sistemas de entrada/saída e várias interfaces. Discute-se brevemente o papel e o lugar dos bancos de dados nessa arquitetura e de outros padrões, como controladores, modelos e outros, dentro da arquitetura limpa.

Detalhes

Este é o título de uma das últimas seções. Aqui dá-se mais atenção ao papel do banco de dados em um projeto e às interfaces web. Diz-se que um framework é apenas uma ferramenta e que não se deve ficar estritamente preso à arquitetura recomendada por um determinado framework. O livro termina com um apêndice que descreve como eram os computadores antigamente e como se trabalhava com eles.

Conclusão

Para começar, vamos listar os pontos positivos ou, melhor dizendo, as características deste livro. É fácil e rápido de ler, pois tem pouco código, mas, por outro lado, há diagramas e fluxogramas. Existem ilustrações em cada capítulo com um estilo unificado e adequado. Entre os pontos negativos — este livro é mais voltado para desenvolvedores iniciantes. Os novatos devem lê-lo com atenção, os mais experientes provavelmente farão uma leitura rápida (o que não levará muito tempo), e para desenvolvedores e arquitetos de software experientes, é pouco provável que o livro seja útil.

Вверх