Estudamos nesta disciplina que uns dos pilares da orientação a objetos são o uso da herança e o polimorfismo, isso porque a partir da sua utilização correta, é possível ter códigos mais extensíveis e robustos. Entende-se como código extensível e robusto, aquele código que permite ter recursos evoluídos e desenvolvidos posteriormente à sua implantação e facilmente inseridos em sua arquitetura de solução. Esses princípios são a base para a construção de frameworks e bibliotecas para uso de terceiros. Uma montadora solicitou que fosse construída uma modelagem de classes para suportar o cenário atual da marca, bem como fosse possível combinar motores já conhecidos com novos veículos e que novos motores possam ser utilizados a veículos já existentes. Uma empresa desenvolveu uma modelagem de classes que não era extensível e robusta, logo não suporta nas necessidades da fabricante. Remodele o diagrama abaixo utilizando os conceitos de orientação a objeto para que a solução seja mais robusta e flexível e, também para obter o melhor aproveitamento de código. Mais detalhes a seguir:Alguns pontos importantes para a nova solução dessa modelagem: O carro March acelera com características de um motor 1.0, já o carro Versa e Kicks com características do motor 1.6 e o carro Sentra com características de motor 2.0. O sistema deve estar preparado para suportar novos modelos de carros, utilizando motores já conhecidos ou suportar novos motores, que terão reflexos direto na aceleração do carro. Dica 1: O uso de interfaces e classes abstratas podem gerar comportamentos polimórficos para apoiar os requisitos apresentados pela montadora.Dica 2: Você já ouviu falar no padrão de projetos Strategy? Talvez ele possa te dar boas ideias de como remodelar o cenário em questão. Apresente o novo diagrama de classes e o descreva em alguns parágrafos.
Compartilhar