Voltar

Sejam as classes A e B tais que o relacionamento entre elas é dado pelo fato ...

Sejam as classes A e B tais que o relacionamento entre elas é dado pelo fato de A usar (referenciar) a classe B. Dessa forma, qual das refatorações a seguir implementa o princípio da inversão de de...


publicidade
Sejam as classes A e B tais que o relacionamento entre elas é dado pelo fato de A usar (referenciar) a classe B. Dessa forma, qual das refatorações a seguir implementa o princípio da inversão de dependência?
Analisando...
publicidade

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

Criar conta grátis
  • Marcos de Castro
    Marcos de Castro EQUIPE
    29/10/2026 • 06:01
    Vamos falar sobre o princípio da inversão de dependência (DIP), que é um dos princípios SOLID muito importantes em programação orientada a objetos. Esse princípio diz que módulos de alto nível não devem depender de módulos de baixo nível diretamente; ambos devem depender de abstrações, ou seja, interfaces ou classes abstratas. Isso ajuda a deixar o código mais flexível e fácil de modificar, porque ele depende de contratos (interfaces) e não de implementações específicas.

    Na questão, temos duas classes, A e B, onde A usa (referencia) B diretamente, o que gera uma dependência direta de A em B, algo que o DIP quer evitar. Para aplicar o DIP, devemos criar uma abstração (interface) que represente os serviços oferecidos por B. A classe A passa a depender dessa interface, e não mais da classe B concreta. A classe B então implementa essa interface, mantendo a implementação por trás da abstração.

    Analisando as alternativas, a opção que implementa perfeitamente essa ideia é a primeira: criar uma interface para os serviços de B, fazer A usar essa interface e B implementá-la. Assim, A não depende diretamente da classe B, mas da interface, invertendo a dependência de forma correta.

    As outras alternativas não aplicam diretamente ou corretamente o princípio. Por exemplo, criar interface para A (opção b) ou usar herança (opção c) não estão alinhados com o DIP. Já a opção d) fala em injeção de dependência, que é uma técnica para fornecer dependências, mas não elimina a dependência direta de A em B, não invertendo a dependência via abstração.

    Portanto, a resposta correta é a letra a).
publicidade
🍪

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência de navegação. Política de Privacidade.