Tenho a seguinte situação aqui:
Uma abstrata classe que chamarei de Base, e que atualmente possui duas subclasses: SubclasseA e SubclasseB
Tenho um método que recebe um argumento do tipo Base e, dependendo do tipo real da instancia (SubclasseA ou SubclasseB), precisa criar um outro objeto.
A princípio seria algo assim:
Mas isso violaria o chamado "princípio aberto/fechado" (o nome em inglês soa melhor, mas vá lá...), estou correto? Pois se um dia eu criar uma nova subclasse de Base, teria que voltar aqui e alterar este método...
Acham que devo me importar com isso? É bem improvavel que surja uma outra subclasse aí....
Não dá para deixar isso em um método abstrato em Base pois Base seria uma classe de negócio e ali preciso instanciar uma tela (view) para manipular este objeto.
Um factory, seria apropriado?
De que outra forma vcs fariam isso? Estou seguindo algum caminho errado?
This message was edited 1 time. Last update was at 12/08/2009 23:46:04
|