Pessoal, na minha aplicação tenho um controller que trata os dados vindo de um form: Contestar.java. Esse controller tem que receber uns arquivos e salvar o arquivo no sistema de arquivos e salvar o caminho desse arquivo no db. Como eu acho que isso vai se tornar comum na aplicação, quero criar uma classe Uploader que irá salvar o arquivo e guardar o caminho no banco. Eu já tenho o UploadDAO. Seria correto colocar o código que salva os arquivos dentro de UploadDAO.save()? E se eu criar uma classe Uploader.save() que chama o UploadDAO e salva o arquivo? Se essa for a melhor opção, onde eu devo colocar essa classe: model ou controller?
Daí já vem a minha segunda pergunta: seria correto eu criar uma pasta lib pra esses tipos de classes? Sempre tive problemas em escolher onde salvar cada classe. Seria correto então ter a seguinte estrutura: Controllers, Models, Views, Libs?
EDIT:
Na verdade seria mais ou menos assim: Tenho várias telas que enviam mensagens de texto para uma lista e essa mensagens também podem ter anexos. Para adicionar as mensagens não pode ser um controller porque dependendo da página onde o usuário requisitar, tenho cálculos diferentes sendo realizados. Então decidi criar uma classe que anexa os arquivos desses diferentes controllers. A questão é: Essa classe que salva os arquivos trata do sistema de arquivos e eu ainda tenho a mensagensDAO que salva a mensagem de texto e uma referência ao arquivo. Seria interessante criar uma classe Mensagens que ao chamar Mensagens.save() salvaria tanto o arquivo no sistema de arquivos quanto o texto e a referência no banco de dados? Se sim, essa classe eu coloco onde? Na pasta lib? Porque não enxergo ela como um controller e não sei se se encaixaria como uma model...
Já cogitou criar um Controller para gerenciar os uploads? A classe de DAO cuidaria apenas de registrar o caminho do arquivo. Obs: não é crime ter pastas com outros nomes, não seja tão apegado à sigla MVC, criando somente o que é explícito. Às vezes, é preciso mais (usando com bom senso, é claro). Por exemplo, ter classes Helper (em uma pasta helper) para este tipo de necessidade (como gerenciamento de arquivos)
— TerraSkilll 15 de jun de 2015O controller que deveria receber o upload faz diversos outros cálculos, eu precisaria submeter para ele. Nesse caso seria aceitável ter uma lib.Uploader.save()?
— DaniloM 15 de jun de 2015