Article image
Karina Burin
Karina Burin19/08/2023 08:16
Compartilhe

Procedures ou lógica diretamente no repositório? Quando devo usar um ou outro?

  • #SQL

A escolha entre utilizar procedimentos (procedures) ou lógica diretamente no repositório (repository) depende muito do contexto da sua aplicação, das suas preferências de desenvolvimento e das melhores práticas adotadas pela equipe ou comunidade na qual você está trabalhando. Vou explicar algumas considerações que podem ajudar você a tomar essa decisão:

Utilizando Procedures:

  1. Performance otimizada: Em muitos bancos de dados, procedimentos armazenados (stored procedures) são compilados e otimizados pelo próprio sistema de gerenciamento de banco de dados. Isso pode levar a um melhor desempenho, especialmente para consultas complexas que são executadas frequentemente. (Claro que esse tópico deve ser considerado um desenvolvimento consciente(bem feito) da linguagem SQL para ter bons frutos).
  2. Segurança: Procedimentos armazenados podem ser utilizados para encapsular lógica sensível no banco de dados. Isso permite controlar o acesso a essas operações, reduzindo os riscos de injeção de SQL e outras vulnerabilidades.
  3. Manutenção centralizada: Se várias partes da sua aplicação precisam executar a mesma lógica, manter essa lógica em um procedimento armazenado centralizado pode facilitar a manutenção. Em vez de atualizar a lógica em vários locais, você só precisaria atualizar o procedimento.

Utilizando Lógica no Repository:

  1. Separação de preocupações: Muitas vezes, é considerada uma boa prática manter a lógica de negócios separada do banco de dados. Isso pode tornar seu código mais modular, facilitando a manutenção e o teste.
  2. Portabilidade do banco de dados: Se você precisar migrar para um banco de dados diferente no futuro, a lógica incorporada diretamente na aplicação será mais fácil de adaptar do que os procedimentos armazenados específicos de um banco de dados.
  3. Facilidade de versionamento: A lógica contida na aplicação geralmente pode ser controlada por sistemas de controle de versão, o que facilita o rastreamento de alterações ao longo do tempo.

Considerações Finais:

A escolha entre utilizar procedimentos ou lógica no repository depende dos trade-offs específicos do seu projeto e das suas prioridades. Muitas vezes, uma abordagem híbrida pode ser útil, onde você utiliza procedimentos armazenados para operações complexas ou sensíveis e mantém a lógica mais simples no repositório. Lembre-se também de consultar as diretrizes e padrões de desenvolvimento da sua equipe ou comunidade, já que essas práticas podem variar amplamente.

Compartilhe
Comentários (2)
Karina Burin
Karina Burin - 20/08/2023 11:28

Oi Rafaela tudo bem?


olha, as duas empresas que trabalhei (e atual que trabalho) tem os dois cenários, e eu percebo que quando falamos de procedure os DEV’s gelaaa hahaha


mas é muito bacana trabalhar com procedure se ela for bem estruturada, porque já vi procedure um

”linguição” que meu Deus, quanta dor de cabeça que a procedure que deveria ajudar mais atrapalhava que tudo hahahaha

Rafaela Augusto
Rafaela Augusto - 19/08/2023 09:10

Legal! Eu preciso aprender sobre Procedures, até hoje só fiz a lógica no próprio repositório haha