Pílula de Arquitetura - Princípios SOLID


Os princípios SOLID para programação e design orientados a objeto são de autoria de
Robert C. Martin
(mais conhecido como Uncle Bob) e datam do início de 2000.

A palavra SOLID é um acróstico onde cada letra significa a sigla de um princípio: SRP, OCP, LSP, ISP e DIP.

Obs: Os acrósticos são formas textuais onde a primeira letra de cada frase ou verso formam uma palavra ou frase

Na tabela abaixo vemos cada sigla, o seu significado e um resumo do princípio a que se refere no original e em uma tradução livre.

SRP The Single Responsibility Principle
Principio da Responsabilidade Única
Uma classe deve ter um, e somente um, motivo para mudar.
A class should have one, and only one, reason to change.
OCP The Open Closed Principle
Princípio Aberto-Fechado
Você deve ser capaz de estender um comportamento de uma classe, sem modificá-lo.
You should be able to extend a classes behavior, without modifying it.
LSP The Liskov Substitution Principle
Princípio da Substituição de Liskov
As classes derivadas devem poder substituir suas classes bases.
Derived classes must be substitutable for their base classes.
ISP The Interface Segregation Principle
Princípio da Segregação da Interface
Muitas interfaces específicas são melhores do que uma interface geral
Make fine grained interfaces that are client specific.
DIP The Dependency Inversion Principle
Princípio da inversão da dependência
Dependa de uma abstração e não de uma implementação.
Depend on abstractions, not on concretions.

Os princípios SOLID devem ser aplicados no desenvolvimento de software de forma que o software produzido tenha as seguintes características:

A utilização dos princípios SOLID tem o objetivo de evitar :

- Relação entre falha, erro e defeito
  • Falha - resultado ou manifestação de um ou mais defeitos.(diferença indesejável entre o observado e o esperado (defeito encontrado)
  • Um Erro (error) indica que certas funcionalidades do software não estão se comportando como especificado;(engano cometido por seres humanos;)
  • O Defeito (failure) é a manifestação do erro, seja através de uma tela com uma mensagem para o usuário,etc.(resultado de um erro encontrado num código ou num documento);

Aguarde neste mês de maio artigos sobre os seguintes assuntos: (Os links já estão ativos)

- OOP - Herança x Composição
- OOP - O princípio da substituição de Liskov (LSP)
- OOP - O princípio Open-Closed (OCP)
- Padrões de Projeto - Os 7 princípios básicos do desenvolvimento de software


"E Jesus lhes disse: Eu sou o pão da vida: aquele que vem a mim não terá fome; e quem crê em mim nunca terá sede." (João 6:35)



Referências: