SOLID
Single Responsibility Principle: Uma classe (ou módulo, função, etc) deve ter um e apenas um motivo para mudar
Open Closed Principle
Liskov Substitution Principle
Interface Segregation Principle
Dependency Inversion Principle
Princípios de Orientação a Objetos
Coesão:
- Cada classe deve ser responsável por apenas uma coisa, e deve executar esta tarefa muito bem.
- Classes não coesas tendem a crescer indefinidamente, o que as tornam difíceis de manter.
Encapsulamento:
- É uma forma de manter os objetos das nossas classes protegidos, fornecendo apenas o que é estritamente necessário para o mundo exterior.
- O fato de criar getters e setters para tudo, na verdade, quebra o encapsulamento da nossa classe.
Acoplamento: