<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">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><div><div><br></div>-- <br>"o animal satisfeito dorme". - Guimarães Rosa<br>
</div>