Então, <div><br></div><div><br></div><div>eu faria um model pra validar imagem + salvar onde for, e usaria o "M Pattern #3: Homegrown Model" para fazer a ponte, exatamente como você já disse !</div><div><br></div>

<div><br></div><div><br><br><div class="gmail_quote">2012/6/7 Solli Honorio <span dir="ltr"><<a href="mailto:shonorio@gmail.com" target="_blank">shonorio@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div>Pessoal,</div><div><br></div><div>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.</div>



<div><br></div><div>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).</div>



<div><br></div>Eu não tenho dúvida sobre as questões básicas de um CRUD. Lendo 'Catalyst Models Definitive Guide' (<a href="http://www.perlmonks.org/?node_id=915657" target="_blank">http://www.perlmonks.org/?node_id=915657</a>), 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.<div>



<br></div><div>Estou com dúvida quando a inteligência não está diretamente relacionamento ao armazenamento de dados. </div><div><br></div><div>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.</div>



<div><br></div><div>Nesta situação eu tenho diversas tarefas, algumas que seriam natural colocar no controller, outras nem tanto.</div><div><br></div><div>Qual a melhor maneira de lidar com isto ?</div><div><br></div><div>



Obrigado,</div><div><br></div><div>Solli Honorio</div><span class="HOEnZb"><font color="#888888"><div><div><br></div>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>
</div>
</font></span><br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br><div><span style="color:rgb(51,51,51);font-size:x-small">Saravá,</span></div><div><span style="color:rgb(51,51,51);font-size:x-small">Renato CRON</span></div>

<div><div style="text-align:right"><font size="1" color="#333333"><a href="http://www.renatocron.com/blog/" target="_blank">http://www.renatocron.com/blog/</a></font></div></div><div style="text-align:right"><font size="1" color="#333333"><a href="http://twitter.com/#!/renato_cron" target="_blank">@renato_cron</a></font></div>

<br>
</div>