5
respostas

Regras de negócio: BD x Código

A prática de colocar regras de negócio em procedures de BD se justifica? Colocar regras em camadas do código são melhor em algum aspecto?

5 respostas

Oi Walter tudo bem?

Depende muito do seu cenário. As vezes você tem um servidor de banco de dados muito bom e um servidor web ruim. Então você coloca a maior parte do processamento no banco de dados. E o contrário também é válido. Você tem um banco de dados ruim e um servidor web bom, então você só traz selects e deixa o servidor web fazer toda a lógica.

Há casos em que o servidor web e o servidor do banco de dados são ruins, então você tem que jogar a maior parte do processamento no javascript.

Além de pensar em manutenção também. Nesse lado eu puxo sardinha pro javascript vanilla. As linguagens de programação do backend podem mudar mas o javascript sempre vai ser o mesmo, só melhor, nunca fica incompatível.

É minha humilde opinião. Gosto dessas conversas.

Caeteris paribus. Vamos partir da premissa de bons servidores e focar no conceito. Melhores práticas.

Nesse caso as melhores práticas utilizando o padrao MVC seria colocar as regras de negócio na camada Model e essa camada fica no código do backend. Procedures só se estiver pensando em perfomance de código e não em boas práticas .

Bem colocado. Ponto para o padrão MVC. Angular e React não possuem camada model. Imagino que nesse caso, as regras ficariam em APIs, não?

Angular e React podem funcionar em MVC sim. Mas as regras de negócio é aconselhável deixar no backend.