Oi povo, tudo certo?
Estou lendo o livro: Use a cabeça - padrões de projeto e já nos primeiros capítulos eles aconselham a se programar voltado a interface e não a implementação.
Até aí tudo bem, o livro se mostra bem interessante até o ponto em que me encontro no momento (cap 5).
Minha dúvida é a seguinte:
Parece que quanto mais classes (quanto mais eu separar meu código) melhor.
Imaginem o seguinte cenário, um labirinto que possui cruzamentos entre corredores. Preciso tomar conhecimento de tais cruzamentos e modelei uma classe denominada Corner.
Porém, existem 9 tipos distintos de corners, com caminhos para esquerda e para baixo, para direita e para cima, etc.
Transformo minha classe Corner em uma classe abstrata e crio 9 classes concretas para cada tipo de corner ou continuo com um switch case na classe Corner?
Segundo o livro, um princípio de projeto é identificar aspectos que variam e separá-los, porém esses corners não irão ser alterados. Ou esse alterar não significa modificar o código e sim o simples fato deles serem diferentes?
Valeu!