Assinale a alternativa que descreve corretamente o conceito ...

Próximas questões
Com base no mesmo assunto
Q2171636 Engenharia de Software
Assinale a alternativa que descreve corretamente o conceito de Inversão de Controle (IoC)? 
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D

A Inversão de Controle (IoC) é um princípio central no design de software moderno e é fundamental na engenharia de software, especialmente quando utilizamos frameworks para desenvolvimento de aplicações. Ao aplicar IoC, o controle do fluxo de execução do software é transferido de um componente centralizado, como o programa principal, para um framework ou uma biblioteca. Isso significa que, ao invés de um sistema chamar diretamente métodos ou funções de bibliotecas e outros módulos, esses módulos é que fornecem a lógica específica a ser chamada pelo sistema.

O conceito de IoC é muitas vezes associado ao uso de contêineres ou frameworks de injeção de dependência, que permitem definir as dependências entre objetos de maneira declarativa (por exemplo, através de arquivos de configuração ou anotações na própria linguagem de programação) e não programaticamente, o que reduz o acoplamento entre as classes e melhora a modularidade do sistema.

Justificativa para a alternativa D: A Inversão de Controle permite que os objetos sejam utilizados por outros sem que haja a necessidade de conhecer exatamente a implementação interna desses objetos. Isso é realizado através de interfaces ou classes abstratas que definem contratos de comunicação entre os objetos, enquanto a ligação entre as dependências é controlada externamente, por exemplo, por um contêiner de IoC. Dessa forma, o sistema pode ser mais facilmente configurável e extensível, pois os objetos específicos utilizados podem ser substituídos sem precisar alterar o código que depende de suas interfaces. Portanto, a alternativa D captura corretamente a essência do que é Inversão de Controle.

As outras alternativas não descrevem corretamente o conceito de IoC: a alternativa A descreve mais apropriadamente o conceito de substituição de Liskov, um princípio de design de software; a alternativa B é mais genérica e não captura a ideia central de IoC; e a alternativa C descreve uma técnica de configuração externa que pode ser parte de uma estratégia de IoC, mas não é uma definição do seu conceito central.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo