Um engenheiro de software está realizando uma inspeção de código em um módulo crítico de um sistema de controle de tráfego aéreo. Ele percebe que a lógica de decisão para autorização de pouso está distribuída em várias funções e classes distintas, sem uma interface bem definida para encapsular essa funcionalidade. Além disso, a modificação de uma regra de autorização exige alterações em múltiplos pontos do código. Qual princípio de design de software foi violado e qual técnica seria mais adequada para corrigir o problema?
- A)Princípio da Inversão de Dependência (DIP); a aplicação de polimorfismo melhoraria a estrutura.
- B)Princípio Aberto/Fechado (OCP); a refatoração do código para criar interfaces e classes abstratas resolveria a questão.
- C)Princípio da Responsabilidade Única (SRP); a segregação da lógica de decisão em uma única classe com uma interface coesa é a solução.gabarito
- D)Princípio da Substituição de Liskov (LSP); a modelagem correta da herança entre as classes seria o caminho.
- E)Princípio da Segregação de Interfaces (ISP); a divisão da interface em interfaces menores e mais específicas seria a resposta.