Sobes.tech
Junior — Middle

A utilização do Dagger para injeção de dependências pertence a qual princípio do SOLID?

sobes.tech IA

Resposta da IA

A utilização do Dagger para injeção de dependências está relacionada com o princípio Princípio da Inversão de Dependências (D) do SOLID.

Este princípio afirma que:

  • Os módulos de nível superior não devem depender diretamente dos módulos de nível inferior.
  • Ambos devem depender de abstrações.
  • As abstrações não devem depender dos detalhes, os detalhes devem depender das abstrações.

O Dagger ajuda a implementar este princípio fornecendo um mecanismo para a injeção automática de dependências através de abstrações (interfaces ou classes abstratas), o que reduz o acoplamento dos componentes e aumenta a testabilidade e flexibilidade do código.

Exemplo de uso do Dagger:

@Component
interface AppComponent {
    void inject(MyActivity activity);
}

class MyActivity {
    @Inject
    MyRepository repository;

    void onCreate() {
        DaggerAppComponent.create().inject(this);
        repository.loadData();
    }
}

Aqui, MyActivity não cria MyRepository diretamente, mas obtém através da injeção de dependências, o que está de acordo com o princípio da Inversão de Dependências.