Como abstrair a conexão com base de dados em Golang?

Ortiz de Arcanjo Antonio David - Sep 6 - - Dev Community

A abstracção da conexão com a base de dados e a injecção de dependências organizam o código e trazem muitos benefícios.

Onde a base de dados é injectada?

  • Nas rotas: A conexão é injetada nos controllers durante a inicialização.
  • Nos repositories: Recebem a conexão para realizar operações na base de dados.
  • Nos services: Utilizam os repositories para interagir com o banco de dados.
  • Nos controllers: Recebem os services já configurados com a base de dados.

Vantagens:

  • Desacoplamento da conexão.
  • Organização do código.
  • Facilidade na troca de banco de dados.
  • Simplicidade nos testes.
  • Facilidade na manutenção.
  • Centralização da conexão.
  • Reuso em todo o sistema.

Código fonte:

Image description

Image description

Image description

Image description

Image description

Image description

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player