[Cascavel-pm] Design Patterns, et al. [ was: WxPerl e MVC ]

Eden Cardim edencardim em gmail.com
Quarta Março 21 14:55:05 PDT 2007


On 3/20/07, Daniel Ruoso <daniel em ruoso.com> wrote:
> Existe uma questão fundamental que é o fato que mesmo nos toolkits MVC
> sempre há alguma coisa que não encaixa corretamente no modelo MVC.

Apesar de atuar no ramo de engenharia de software e modelagem OO a
pouco tempo, na literatura e discussões que li, parece que não há
consenso numa definição precisa de MVC. Todas as definições que vi tem
argumentos bastante plausíveis defendendo seus pontos de vista, e
parecem se separar em duas categorias: os que priorizam a
flexibilidade e os que priorizam a facilidade de implementação. Eu
concordo que os toolkits não se encaixam perfeitamente no modelo MVC,
porém, isso sempre acontece com qualquer modelo computacional. Veja a
proposta dos bancos de dados relacionais, nenhuma implementação chega
a seguir 100% do que está escrito no livro introdutório do Date. Isso
também acontece nos sistemas operacionais, nenhum deles segue à risca
as propostas do Tanenbaum. Nenhuma linguagem pode se gabar de ser
"100% orientada a objeto" (se é que isso existe). O que os toolkits
MVC fazem, assim como os SGBDs e SOs, é simplificar alguns conceitos
da definição original para viabilizar a implementação final, por isso,
quando você escolhe uma delas, tem que prestar bastante atenção aos
"caveats". Se não puder viver com eles, acho que o correto é fazer o
que o Ruoso fez e o que vários outros monges como o Gabriel Vieira,
Mago, Glock gostam de fazer: "faça você mesmo!".

> Os objetos adaptor são objetos que ficam esperando por eventos no view e
> para atualizar os dados no model e esperam por eventos no model para
> fazer as atualizações no view. O nome disso é "Observer Pattern".

Não sei não hein, pelo que sei dos padrões, acho que o papel de
adaptors e observers são definidos separadamente, eles podem contudo
ser implementados juntos, que acho que foi o que você quis dizer.

> [1] http://www.perlmonks.org/?node_id=464418

Muito bom o seu post no perlmonks, Ruoso, muito bem notado o problema
dos inputs serem manipulados pelos controllers na web. No caso do
Catalyst, isto está sendo solucionado pelo Reaction, dá uma olhada,
acho que você vai gostar.

-- 
Eden Cardim
Instituto Baiano de Biotecnologia
Núcleo de Biologia Computacional e Gestão de Informações Biotecnológicas
Laboratório de Bioinformática
--
"you seem to think that 'close enough' is close enough...
please learn to be 'literal' around programming."
merlyn - on irc.freenode.net#perl


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