DEV Community

Cover image for Como abstrair a conexão com base de dados em Golang?
Ortiz de Arcanjo António David
Ortiz de Arcanjo António David

Posted on

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

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

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay