[SP-pm] Controller thin, model fat ! Como fazê-lo ?

Solli Honorio shonorio at gmail.com
Thu Jun 7 13:15:25 PDT 2012


Pessoal,

Estou trabalhando no sistema da minha startup, e estou fazendo em Catalyst.
Bom, como este é oficialmente a minha primeira experiência com sistemas
mais complexos (até então só tenho experiência com pequenos e médios
códigos de automação de sistema operacional) estão surgindo diversas
dúvidas de arquitetura, no qual antes eu apenas tinha conhecimento
teórico/acadêmico.

Muito lí sobre a recomendação de simplificar ao máximo o controller e
colocar o máximo de inteligência no model, e quando possível ter código
independente do Catalyst. Mas agora que estou tentando fazer isto surgiram
dúvidas sobre como implementar corretamente (visando a manutenção do
software, e não em performance necessariamente).

Eu não tenho dúvida sobre as questões básicas de um CRUD. Lendo 'Catalyst
Models Definitive Guide' (http://www.perlmonks.org/?node_id=915657), e com
a ajuda do Gabiruh, compreendi que um caminho para isto é extender o
resultset com métodos mais elaborados, como por exemplo, validação de dados
(CPF, CEP), processo de troca de senha, etc.

Estou com dúvida quando a inteligência não está diretamente relacionamento
ao armazenamento de dados.

Por exemplo, tenho que receber um arquivo de imagem, que deverá ser
validada (se é uma imagem mesmo, etc), depois relacionar ao usuário e
armazenar em um storage.

Nesta situação eu tenho diversas tarefas, algumas que seriam natural
colocar no controller, outras nem tanto.

Qual a melhor maneira de lidar com isto ?

Obrigado,

Solli Honorio

-- 
"o animal satisfeito dorme". - Guimarães Rosa
-------------- Pr?xima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20120607/c106ba36/attachment.html>


More information about the SaoPaulo-pm mailing list