Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Regras de Negócio

Ao longo do curso do POO e do Design Patterns muitas vezes ouvi a frase: "Esse não é um lugar bom para se colocar uma regra de negócio".

Após muito pesquisar sobre o assunto, a duvida invés de sanada só aumenta

Vi abordagens que defendem RN dentro de Models (dentro de um MVC), outras dizem que devem ser em Controllers. Mas aonde deve ser?

E quando não for uma aplicação MVC? E quanto tenho regras que preciso de javascript pra executar, como em requisições ajax?

Me parece muito confuso

1 resposta
solução!

Boa tarde, Anderson! Tudo bem, cara? =)

Só para ver se entendi corretamente sua dúvida... Você quer saber onde, exatamente deveria ficar a regra de negócio numa aplicação, correto?

Pensando em um sistema que utiliza o MVC, cada sigla representa uma camada que deve ser bem definida. Como você mesmo mencionou, acredito que já deve conhecer um pouco sobre isso. Mas só para dar um overview rápido...

O V representa a camada de visualização. Acho que esse deve ser o mais fácil de se compreender e você não ter grandes problemas com ele. =)

O C é a camada dos controllers, ou seja, os "caras" responsáveis por controlar o fluxo da requisição. A ideia é que ele serve como um "roteador" de requests, chamando as diversas classes da camada M (modelo), para executarem as lógicas.

Ou seja, de forma resumida, o controller deve ficar responsável apenas por chamar as classes que vão executar as regras de negócio. E essas classes são exatamente aquelas encontradas na camada model. =)

E, mesmo assim, há diversas discussões sobre as diferentes divisões de responsabilidade entre suas classes... =|

Espero ter ajudado, mas qualquer dúvida, não deixe de postar por aqui... =)

Abraço e bons estudos,

Fábio