S — Single Responsibility Principle (ou Princípio de responsabilidade única) diz que:
“Uma classe só deveria ter um único motivo para mudar” — Robert C. Martin
Usando o exemplo do que não é responsabilidade única seria da uma classe Pessoa que além de ser responsável por criar o objeto Pessoa, tamém seria responsável por salvar a pessoa no banco de dados.
O — Open Closed Principle (ou Princípio de Aberto Fechado) diz que:
“Entidades de software (classes, módulos, funções, etc) devem ser abertas para expansão, porém, fechadas para modificações” — Bertrand Mayer
L — Liskov Substitution Principle (Princípio de substituição de Liskov) diz que:
“Classes filhas nunca deveriam infringir as definições de tipo (ou funcionalidade) da classe pai”;
I — Interface Segregation Principle (Princípio da Segregação de Interface) diz que:
“Uma classe não pode ser forçada a depender de métodos que ela não utilizará” Robert Martin
D — Dependency Inversion Principle (Princípio da Inversão de Dependência) diz que:
“Módulos de alto nível não devem depender de módulos de baixo nível. Ambos devem depender de abstrações” ou “Abstrações não devem depender de implementações. Implementações devem depender de abstrações”. Robert C. Martin
Top comments (0)