O padrão de design Decorator é utilizado para adicionar funcionalidades extras a um objeto de forma dinâmica, sem alterar sua estrutura básica. No caso do restaurante de comidas rápidas, podemos aplicar o padrão Decorator da seguinte forma: 1. Crie uma classe abstrata chamada Combo, que representará a estrutura básica de um combo. Essa classe terá métodos para obter a descrição do combo e o valor total. 2. Crie classes concretas para cada tipo de combo (básico, familiar, especial), que herdarão da classe Combo. Essas classes implementarão os métodos abstratos e definirão as características específicas de cada combo. 3. Crie uma classe abstrata chamada ComboDecorator, que também herda da classe Combo. Essa classe terá um atributo do tipo Combo, que representará o combo base a ser decorado. Essa classe também terá métodos para obter a descrição e o valor total do combo decorado. 4. Crie classes concretas para cada porção adicional (tomate, papas, carne, queijo), que herdarão da classe ComboDecorator. Essas classes implementarão os métodos abstratos e adicionarão as características específicas de cada porção adicional. 5. No sistema de pedidos, o usuário poderá selecionar o combo desejado e, em seguida, adicionar as porções adicionais desejadas. O sistema irá criar um objeto do tipo Combo correspondente ao combo selecionado e, em seguida, irá decorá-lo com os objetos das porções adicionais selecionadas. 6. O sistema poderá exibir a descrição do pedido do usuário, obtendo a descrição do combo decorado, e também o valor total do pedido, obtendo o valor total do combo decorado. Dessa forma, o padrão Decorator permite que o sistema de pedidos do restaurante seja flexível e extensível, permitindo que os combos e porções adicionais sejam combinados de forma dinâmica, sem a necessidade de criar classes específicas para todas as combinações possíveis.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar