Repositório para gerenciar o estudo de design patterns em Java.
Esse princípio assume que determinadas classes devem ter apenas uma responsabilidade principal, um único propósito. Benefícios:
- Facilidade de manutenção
- Facilidade de entendimento da classe
- Maior reusabilidade
Define que determinadas classes devem estarem abertas para extensões, mas fechadas para modificações. Para melhor entendimento, a classe deve ser aberta para extensão de seu comportamento sem precisar modificar o código original (que muitas vezes está em produção funcionando corretamente). Benefícios:
- Facilidade de implementação de um novo comportamento.
- Diminuição de erros