7
respostas

Controller - Regra de negócio

Boa tarde,

A camada de Controller também tem regra de negócio ou somente chama a model para isso ?

Att

7 respostas

Fala Alan, tudo bem?

O ideal é termos no controller apenas as regras de validação, de forma que as regras de negócio fiquem externalizadas em uma classe de serviço, por exemplo.

Abraço!

Bom dia Alan, isso depende um pouco, quando eu faço um sistema pequeno por exemplo não vejo problemas em chamar o DAO na controller e deixar as validações com validator do spring ou bean validation. Mas pelas boas práticas é legal ter um service entre eles.

Quando vocês dizem ter um service, seria uma classe dentro da model ?

Na verdade, a classe controller vai fazer toda a orquestração ? Ou por exemplo só chamar um método da model que irá fazer toda a orquestração ?

from model.cliente import ClienteModel
class ClienteController:
    def incluir(Cliente):
        ClienteModel.incluir(Cliente)
    .....

Boa noite Alan, seria ter uma classe gerenciada pelo spring com @service e injetamos na controller, por exemplo:

@Controller
public class SeuController {
    @Autowired
    private SeuService seuService;
}
@Service
public class SeuService {
    @Autowired
    private SeuDao seuDao;
}

Na verdade eu gostaria de saber se o controller somente orquestra e sem utilizar framework desse jeito que eu mencionei em cima está correto...alguém consegue me ajudar ?

Se você não estiver usando nenhum framework é legal criar um servlet apenas que recebe as requisições e manda para as respectivas classes de negócio. Ai essa servlet será sua Front Controller. Era isso a dúvida Alan?

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software