Questão de Programação — Linguagens de programação — FGV 2024
ProgramaçãoLinguagens de programação
- Código
- fg079643
- Banca
- FGV
- Órgão
- DATAPREV
- Ano
- 2024
- Nível
- Superior
- Cargo
- ATI - Arquitetura, Engenharia e Sustentação Tecnológica
Uma aplicação de e-commerce possui a seguinte classe Pedido, que cria diretamente uma instância de ServicoDePagamento e ServicoDeNotificacao para processar pagamentos e enviar notificações ao cliente:
Este código viola o Princípio da Inversão de Dependência (DIP). Para seguir corretamente o DIP, deve-se refatorar o código
Este código viola o Princípio da Inversão de Dependência (DIP). Para seguir corretamente o DIP, deve-se refatorar o código- Aremovendo a dependência de ServicoDePagamento e movendo a lógica de pagamento diretamente para a classe Pedido.
- Busando um padrão Singleton para ServicoDePagamento e ServicoDeNotificacao, garantindo que as instâncias sejam compartilhadas entre diferentes classes.
- Cintroduzindo interfaces IPagamento e INotificacao, e injetando-as via construtor na classe Pedido, permitindo a inversão de dependências para abstrações em vez de implementações concretas
- Dalterando o código para usar herança, fazendo com que Pedido herde de uma classe abstrata que define os métodos de pagamento e notificação.
- Ecriando uma fábrica (Factory) que cria instâncias de ServicoDePagamento e ServicoDeNotificacao e as injeta na classe Pedido.