Arquitetura Limpa | Abílio Azevedo

Abílio Azevedo.

Arquitetura Limpa

Cover Image for Arquitetura Limpa
Abílio Azevedo
Abílio Azevedo

O que são Design e Arquitetura?

  • Software é feito de software. Grandes construções de software são compostas de componentes de software menores e assim por diante.
  • "Arquitetura representa as decisões significativas de design que moldam um sistema, onde a significância é medida pelo custo da mudança" - Grady Booch
  • Uma arquitetura boa de software é construida no caminho, é algo dinâmico e não estático.
  • Regras de arquitetura de software são inpendentes de todas as outras variáveis. Porque os blocos de códigos (while, if...) não mudaram muito com o decorrer do tempo e portanto a forma de organizá-los (arquitetura) também não.
  • O objetivo da arquitetura de software é minimizar os recusos humanos necessários para construir e manter um determinado sistema. Boas arquiteturas minimizam o custo de manutenção e dão flexibilidade ao software. Afinal software foi inventado para tornar "suave" a mudança de comportamento das máquinas.
  • A maior mentira em que os desenvolvedores acreditam é a noção de que escrever um código bagunçado permite fazer tudo mais rápido a curto prazo e só diminui o ritmo a longo prazo. A única maneira de seguir rápido é seguir bem.

Paradigmas da Programação

Paradigmas são maneiras de programar, relativamente não relacionadas às linguagens.

  • Programação Estruturada Impõe disciplina sobre a transferência direta do controle. (Execução e leitura sequencial do código sem "goto")
  • Programação Orientada a Objetos Impõe disciplina sobre a transferência indireta do controle.
  • Programação Funcional Impõe disciplina sobre a atribuição.

Princípios de Design

  • SRP: O Princípio da Responsabilidade Única
  • OCP: O Princípio Aberto/Fechado
  • LSP: O Princípio de Substituição de Liskov
  • ISP: O Princípio da Segregação de Interface
  • DIP: O Princío da Inversão de Dependência

Princípios dos Componentes

  • Componentes
  • Coesão de Componentes
  • Acoplamento de Componentes

Arquitetura

  • O que é?
  • Independência
  • Fronteiras: Estabelecendo Limites
  • Anatomia do Limite
  • Política e Nível
  • Regras de Negócio
  • Arquitetura Gritante
  • Arquitetura Limpa
  • Apresentadores e Objetos Humble
  • Limites Parciais
  • Camadas e Limites
  • O componente Main
  • Serviços: Grandes e Pequenos
  • O Limite Teste
  • Arquitetura Limpa Embarcada

Detalhes

  • Base de Dados é um Detalhe
  • A Web é um Detalhe
  • Frameworks são Detalhes
Gostou?

Mais Histórias

Cover Image for Abrace seu filho

Abrace seu filho

Todas as vezes que você abraça seu filho, você se cura um pouco. Todas as vezes que você abraça seu filho, você é abraçado de volta. Não perca nunca essa oportunidade que a vida lhe dá.

Abílio Azevedo
Abílio Azevedo
Cover Image for Curso de Comunicação e Oratória - Conquer

Curso de Comunicação e Oratória - Conquer

Nada é tão bom que não possa melhorar. Aprenda a se comunicar ainda melhor e a se tornar mais influente pela comunicação!

Abílio Azevedo
Abílio Azevedo

NewsLetter

Eu enviarei o conteúdo postado aqui no blog. Sem Spam =)