É importante criar abstrações que separem conceitos de alto nível (geral) e conceitos de baixo nível (detalhes). Isso pode ser feito criando classes abstratas para manter os conceitos de alto nível e colocando os detalhes de baixo nível em implementações derivadas dessa classe base. Mas isso deve ser feito de forma cuidadosa e com muita atenção para que todos os conceitos de alto nível fiquem na classe base e que ela não possua nenhum conceito (constantes, variáveis, métodos, etc) de baixo nível.

 

  • Sem rótulos