SOLID - Robert C. Martin
Princípio da Responsabilidade Única (Single Responsibility Principle)
- Classes/arquivos inchadas(os)
- Separação de tarefas
- Ex: Controller, Massive View Controller, Fat Model
Princípio Aberto Fechado (Open-Closed Principle)
- Métodos de pagamento
- Receber repository por parâmetro
- Padrão strategy,
- Padrão observer
Princípio da Substituição de Liskov (Liskov Substitution Principle)
- Filhos são intercambiáveis
Princípio da Segregação de Interfaces (Interface Segregation Principle)
- Uma classe filha não deveria ser obrigada a implementar um método da classe pai
- BaseClass
- Aves(bicar voar): quero quero, pinguim
Princípio da Inversão de Dependência (Dependency Inversion Principle)
- Depender sempre de interfaces ao invés de implementações
- Evitar acoplamentos
- Anda de mãos dadas com Liskov e Dependency Injection
https://dev.to/santypk4/bulletproof-node-js-project-architecture-4epf https://www.youtube.com/watch?v=mjBsii0eiuI https://www.youtube.com/watch?v=sg1zFpNM5Jw
Referências: