[Cascavel-pm] WxPerl e MVC
Luis Motta Campos
luismottacampos em yahoo.co.uk
Quinta Março 22 02:33:08 PDT 2007
On Mar 21, 2007, at 5:59 PM, Alceu R. de Freitas Jr. wrote:
> Acho que boiei. Qual seria uma solução correta para
> não misturar as camadas?
Adote um dos paradigmas, e descarte o outro: se sua interface
gráfica vai operar sobre MVC, use apenas MVC. Se a sua interface
gráfica vai ser (como você está implementando agora) Event-Driven,
descarte o MVC (é a melhor solução para o seu problema, eu acredito).
> Eu achei que o toolkit do WxPerl é uma boa proposta.
> Utilizei o gerador de interface (que é implementado em
> Python e me faz pensar que o Parrot parece ser uma boa
> idéia mesmo) e fiquei satisfeito com o resultado.
>
> Ler código do SmallTalk, no entanto, parece bastante
> desanimador. Eu odiaria, no entanto, ter que modificar
> código com regras de negócio tendo que afetar outras
> camadas da aplicação.
>
> Algum outro toolkit trabalha de forma diferenciada e
> que permita utilizar MVC de forma menos indolor?
Eu não estou entendendo esta coisa do MVC. MVC é um design pattern
que implementa uma arquitetura fácil de usar para desenhar sistemas
iterativos - os que tem interface com usuário normalmente são. Mas
você está usando um gerador de interface que implementa interfaces
pelo paradígma Event-Driven. Isto quer dizer que você tem alguma
coisa que se parece com o "V" e com o "C" do seu MVC.
Se você quer MESMO usar MVC, vai precisar entender que o WxPerl já
gerou para você suas Views e seu Controller. Você precisa implementar
apenas os Models e chamá-los a partir dos códigos de gancho gerados
para cada controle da interface com o usuário.
Assim, a pesar da falta de controle sobre a implementação toda,
você vai conseguir misturar as duas coisas.
Espero que esta idéia te ajude.
Isto apenas me ocorreu hoje, desculpe. Eu normalmente evito
sistemas baseados em MVC e interfaces com o usuário - eu não gosto de
implementar este tipo de coisa.
Putamplexos!
--
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}
Mais detalhes sobre a lista de discussão Cascavel-pm