Este projeto tem como objetivo demonstrar exemplos de violação de cada um dos princípios e utilizá-los para demonstrar uma possível solução.
SOLID é um acrônimo criado por Michael Feathers com base nos cinco primeiros princípios da programação orientada a objetos e design de código identificados por Robert C. Martin (Uncle Bob) no início dos anos 2000.
Letra | Sigla | Nome | Definição |
---|---|---|---|
S | SRP | Single Responsibility Principle / Princípio da Responsabilidade Única | A classe deve ter um, e somente um, motivo para mudar. |
O | OCP | Open Closed Principle / Príncípio Aberto-Fechado | Objetos ou entidades devem ser abertos para extensão, mas fechados para modificação. |
L | LSP | Liskov Substitution Principle / Princípio da Substituição de Liskov | As classes base devem ser substituíveis por suas classes derivadas sem alterar o resultado esperado. |
I | ISP | Interface Segregation Principle / Princípio da Segregação da Interface | Muitas interfaces específicas são melhores do que uma interface única. |
D | DIP | Dependency Inversion Principle / Princípio da Inversão da Dependência | Dependa de abstrações, não de implementações. Módulos de alto nível não devem depender de módulos de baixo nível, ambos devem depender de abstrações. |
A utilização dos princípios SOLID possibilitam a codificação de software orientado a objetos de maneira eficaz, facilicitando a legibilidade, testabilidade, reaproveitamento, manutenção e extensão.
Referências: Uncle Bob / Eduardo Pires / ExceptionNotFound