[Dúvida] Padrões de projeto - separar o código em classes

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!

é…entendi aonde você quer chegar
o que acontece é o seguinte
seja lá como você vai programar suas classe, se a lógica estiver certa, vai rodar!

Mas padrões de projeto servem para: amanhã ou depois os requisitos do sistema mudam
você consegue facilmente implementar (ao contrário se tivesse goiaba tem programa)

o certo (ou o mais elegante) seria você fazer isso que você falou:
identificar diferenças entre os objetos e aplicar a herança,
problema se tiver 20000 classes, o que importa é a reutilização

o contra disso tudo, na minha opnião é:
pode ficar lento se dividir coisas desnecessárias em classe separadas
e até porque muito coisa do mundo real foge ao escopo padrão

dou minha cara a tapa se ninguém na vida fez um programa onde os eventos de botão
ficassem na classe de VISÃO (modelo MVC)…
é pecado? não…mas tá errado…(eu mesmo faço isso d+)

então, divida sim em subclasses
e aplique a herança

Entendi.

Eu fiz isso mesmo, dividi em classes e apliquei a herança. Acredito ser a melhor solução.
Estava com problemas no MVC também, mas acabei entendendo bem depois de ler a parte do livro que explica ele.

Valeu aí.