1
resposta

Métodos de Negócio na classe Modelo

Nos exemplos sobre encapsulamento e acoplamento, a classe Funcionário possui o método getReajustesDeSalario() para que as classes externas não dependam de sua lógica. No padrão MVC, qual seria a melhor prática, acoplar a classe Controller ou manter esse tipo de método no Modelo ?

1 resposta

Opa Dario, tudo bem?

A melhor prática é sempre manter suas regras de negocio mais proximas do dominio, o Controller é uma classe de passagem com controle de fluxo, ela não deve possuir lógica relacionadas ao negocio, apenas chamadas e controle de respostas(devolver paginas de erro, qual status code devolver, qual pagina devolver).

Vou deixar aqui só para lembrar cada camada:

  1. Model é responsável pela nossas lógicas de negocio, é a camada mais interna que deve ser protegida, responsável pela leitura e escrita de dados, ou seja, está ligado a manipulação de dados.

  2. View tudo que é relacionada a apresentação, tudo que é visivel ao usuario.

  3. Controller é responsável por controlar todo o nosso fluxo de informação que passa por nosso sistema, é no controller que se decide “se”, “o que”, “quando” e “onde” deve funcionar. Realiza chamadas para executar nossas regras.

Espero que tenha ficado mais claro, caso ainda tenha duvida, pode perguntar novamente. :)