Pular para o conteúdo principal

Questão de Engenharia de Software — Refatoração — IV - UFG 2018

Engenharia de SoftwareRefatoração
Código
qq329347
Banca
IV - UFG
Órgão
Câmara de Goiânia - GO
Ano
2018
Nível
Superior
Cargo
CS-UFG - - Assessor Técnico Legislativo - Analista de Sistemas
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?
  1. ACria interface para serviços oferecidos por B; a classe A passa a usar a interface criada; a classe B passa a implementar a interface criada; a classe A não usa mais a classe B.
  2. BCria interface para serviços oferecidos por A; a classe A passa a implementar a interface criada; a classe B passa a usar a interface criada; a classe A não usa mais a classe B.
  3. CCria um relacionamento de herança entre as classes A e B (A torna-se uma especialização de B); métodos da classe B empregados pela classe A são migrados para a classe A; a classe A não usa mais a classe B.
  4. DCria uma referência para a classe B na classe A; cria um método para receber uma instância de B (injeção de dependência) e guarda-a na referência criada; a classe A não usa mais a classe B.
Revelar gabarito e comentário

GabaritoA — Cria interface para serviços oferecidos por B; a classe A passa a usar a interface criada; a classe B passa a implementar a interface criada; a classe A não usa mais a classe B.

Link permanente: /questoes/qq329347