[Questão inédita] Um programador está trabalhando em um pro...
Considerando a necessidade de adicionar mais meios de transporte ao sistema e o conhecimento sobre padrões de projeto, o mais adequado para o programador seria:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
A "graça" da programação orientada a objetos é a facilidade de reusar código através da herança e sobrescrita de métodos.
por que nao pod ser composite?
Para resolver a necessidade de adicionar mais meios de transporte ao sistema de forma organizada e extensível, a adoção de um padrão de projeto criacional é a abordagem mais adequada. Isso permite abstrair a classe "Automóvel" e criar uma hierarquia de classes que representam diferentes meios de transporte, mantendo a flexibilidade e facilitando a manutenção e a extensão do sistema. Portanto, a resposta correta é:
**D) Empregar um padrão de projeto criacional para abstrair a classe “Automóvel” e possibilitar a criação de outras classes com propriedades semelhantes.**
Utilizando um padrão de projeto criacional como o Factory Method ou Abstract Factory, o programador pode definir uma interface ou classe abstrata para o transporte e, a partir dela, criar subclasses específicas para cada modal (rodoviário, hidroviário, aéreo, etc.). Isso facilita a adição de novos tipos de transporte sem alterar o código existente, respeitando o princípio aberto/fechado (Open/Closed Principle) da programação orientada a objetos.
Explicações adicionais:
- **A) Reescrever a aplicação para abranger mais tipos de meios de transporte.**
- Reescrever a aplicação não é a abordagem mais eficiente ou sustentável, especialmente para grandes sistemas em funcionamento.
- **B) Utilizar-se de um padrão de projeto comportamental. Uma vez que o sistema já se encontra em pleno funcionamento, tratar, na classe “Automóvel”, os diferentes tipos de meios de transporte.**
- Padrões comportamentais não são adequados para esta situação, pois não lidam com a criação de objetos de forma flexível e extensível.
- **C) Adotar um padrão de projeto estrutural para dividir a classe “Automóvel” em componentes menores, de modo a englobar diferentes tipos de meios de transporte.**
- Padrões estruturais são mais adequados para organizar e relacionar classes e objetos existentes de forma mais eficiente, não para criar novos tipos de objetos.
- **E) Nenhuma das alternativas anteriores.**
- A alternativa D é correta, portanto, esta opção é inválida.
Empregar um padrão de projeto criacional é a melhor prática neste caso para assegurar que o sistema seja fácil de manter e expandir conforme novos requisitos surgem.
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo