Pular para o conteúdo

Arquitetura de software · parte 2 de 6

Inversão de dependência na prática

O princípio que faz módulos de alto nível e de baixo nível dependerem de abstrações, e como isso sustenta arquiteturas testáveis e desacopladas.

Publicada em · 2 min de leitura

Tamanho da fonte:
Largura da coluna:

O princípio da Inversão de Dependência (Dependency Inversion Principle - DIP) é um dos fundamentos mais importantes do design orientado a objetos e está diretamente relacionado à forma como estruturamos as camadas da aplicação. A ideia central desse princípio é inverter a direção natural das dependências em um sistema. Em vez de os módulos de mais alto nível dependerem de módulos de baixo nível, ambos devem depender de abstrações. E mais: detalhes de implementação devem depender de abstrações, e não o contrário.

Na prática, isso significa que o núcleo da aplicação — como os casos de uso, serviços de negócio e entidades — não deve depender diretamente de tecnologias ou ferramentas específicas, como bibliotecas de acesso a banco de dados, sistemas de arquivos, APIs externas ou provedores de e-mail. Em vez disso, ele deve depender de interfaces (as tais “portas” da Arquitetura Hexagonal), que são implementadas nas camadas externas por componentes chamados de adaptadores.

Esse tipo de inversão cria uma separação clara entre o que a aplicação precisa fazer e como isso será feito. Por exemplo, o caso de uso de “Criar Usuário” não deveria se preocupar se os dados estão sendo salvos num banco PostgreSQL, MySQL ou até num repositório em memória para testes. Ele só precisa de uma interface com o método Create(user User) error, e quem vai implementar essa interface — seja usando sqlx, gorm ou até uma chamada HTTP para outro serviço — é responsabilidade da camada de infraestrutura.

Esse princípio torna a aplicação muito mais flexível, testável e evolutiva, porque as dependências com maior risco de mudança (como bibliotecas, drivers, frameworks e serviços externos) ficam nas bordas do sistema, enquanto o centro permanece estável, limpo e independente.

↑ Voltar ao topo

Atalhos de teclado

Abrir busca
/
Alternar tema claro/escuro
t
Aula anterior na série
←
Próxima aula na série
→
Lista de atalhos
?