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?
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?
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.