[Cascavel-pm] WxPerl e MVC

Alceu R. de Freitas Jr. glasswalk3r em yahoo.com.br
Quarta Março 28 14:37:32 PDT 2007


--- Eden Cardim <edencardim em gmail.com> escreveu:

> Infelizmente ainda não li o código do wxWidgets
> suficientemente para
> te dar uma solução mais objetiva. Porém, a não ser
> que eu tenha
> compreendido errado o problema, parece que isso pode
> ser resolvido
> usando um bridge
> (http://en.wikipedia.org/wiki/Bridge_pattern) para
> fazer os eventos delegarem responsibilidades para
> outras classes.

Eu implementei uma bridge para o Controller, mas
sinceramente não senti nenhuma vantagem em fazer isso
(assumindo que eu implementei errado). Eu acabei por
criar uma superclasse que não definia nenhum método,
apenas suas propriedades. Se for interessante, eu
posso postar o código aqui.

O que me ajudou a implementar MVC foi realmente
utilizar Class::Publisher, que é uma implementação do
padrão Observer. Com isso, consegui capturar os
eventos dentro da própria classe da View e poder
avisar quais outras classes de modificações no estado
da View.

O que realmente me deixa com dúvidas é que nenhuma das
explicações que encontrei na internet sobre MVC deixa
explicíto como deve ser a comunicação entre as três
classes (quem chama quem e em que situação). Por
exemplo, se eu tenho um evento na View, poderia chamar
o Model diretamente? Ou teria que fazer isso pelo
Controller? O mais perto que cheguei disso foi
implementar uma superclasse abstrata da View para
ligar o Model a ela. Se alguém tiver um link para
informar isso, fico muito grato.

> Um
> dos "side-projects" na minha "todo" list inclui
> implementar
> dispatchers e views que adaptem o Catalyst ao Tk e
> wxWidgets, espero
> algum dia conseguir tempo pra realizar esse sonho
> :O.

Seria algo como definir um modelo de visão que pode
ser posteriormente recriado com diferentes
tecnologias? Algo como isso aqui?
http://www.openmdx.org/

[]'s


Alceu Rodrigues de Freitas Junior
--------------------------------------
glasswalk3r em yahoo.com.br
http://www.imortais.cjb.net
-----------------------------------------------------------------------
A well-used door needs no oil on its hinges.
A swift-flowing stream does not grow stagnant.
Neither sound nor thoughts can travel through a vacuum.
Software rots if not used.
These are great mysteries -- The Tao Of Programming, 5.1

__________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 


Mais detalhes sobre a lista de discussão Cascavel-pm