[quote=pedromuyala]Pessoal estou perguntando um coisa que não existe?
Ou a pergunta está mal formulada?
Olhem só:
- Classe Carro faz parte do modelo. Um objeto carro é então criado;
- Classe CarroControl faz parte do controle. Um objeto carrocontrol é criado;
- O objeto carro então é agregado ao objeto carrocontrol;
- Por força maior, o objeto carrocontrol recebe um evento para modificar o objeto carro;
- Então o objeto carro é alterado e lança o evento “carroevent” (classe CarroEvent) aos Listener’s (visões) informando a alteração.
Nesse momento as visões que recebem o evento “carroevent” devem se reenderizar, mas aí vem o X da questão: A visão se atualizará com os valores que estão no evento “carroevent” usando os métodos get() [Ex: carroevent.getCor(), carroevent.getRoda(),…] ou vai usar o objeto carro agregada a ela e chamar os métodos get() de carro [Ex: carro.getCor(), carro.getRoda(),…] para tal? E pergunto ainda se essa segunda opção realmente existe, ou seja, um obejto do modelo deve ser agregado a visão para atualização ou isso não existe?
[/quote]
Infelizmente não li o tópico todo, entrei apenas de passagem, mas vou tentar ajudar.
Acredito que as visões recebem do controle um objeto carro (elas tem que conhecer o objeto, ou então receberão um monte de argumentos relativos aos valores alterados) e com esse objeto elas atualizam seus valores.
Algo tipo:
visão.update( carro );
Se as visões que necessitam dessa atualização não conhecerem a classe, terá que ficar assim:
visão.update( cor, placa, roda, … );
Procure pelo padrão de projeto observer (ou publish-subscribe). É exatamente o que você quer saber.
Espero ter ajudado, mesmo entrando no tópico aos 45 do segundo tempo e lendo só a última mensagem :-o