AM
Tirar TTransaction do Controller
Fechado
Quando vamos salvar ou editar um Produto, utilizamos um método do nosso controller.
Exemplo:
Nesse método tem a transação com o banco de dados e objetos de model e repository e Critérios de seleção e etc...
Gostaria de colocar algumas TTransaction no meu Model ou na camada de Serviços (Service).
Objetivo: deixar meu controller mais limpo, e colocar tudo isso dentro de um método no model ou do service.
Isso seria uma boa pratica? Teria algum problema com segurança ou coisa do tipo.
Obrigado!
Exemplo:
- <?php class ProdutoForm extends TPage{//#code...}; new ProdutoForm->onSave(); ?>
Nesse método tem a transação com o banco de dados e objetos de model e repository e Critérios de seleção e etc...
Gostaria de colocar algumas TTransaction no meu Model ou na camada de Serviços (Service).
Objetivo: deixar meu controller mais limpo, e colocar tudo isso dentro de um método no model ou do service.
Isso seria uma boa pratica? Teria algum problema com segurança ou coisa do tipo.
Obrigado!
Estou começando com o framework agora e também tive essa dúvida.
Acredito que seja responsabilidade do model definir qual banco será usado, e não do controller.
Eu acredito que a model deva ser agnóstica de conexão, assim ela pode ser inclusive reaproveitada em transações diferentes.
A model deve ter a regra de negócio, não o vínculo com o banco de dados.
A controller pode usar uma model com um banco de dados, um service com outro, a crontab também.
Além disso, fica mais claro abrir a transação juntamente ao bloco try/catch.
Não coloquem try/catch na model, pois não é responsabilidade dela emitir mensagens ao usuário ;-)
Atenciosamente,