Prévia do material em texto
Modelagem de Padrões de Projeto Aula 15 - Exercícios de Factory Method e Abstract Factory Criacionais Ilustrações: SHVETS (2022) SHVETS (2022)Prototype Abstract Factory Builder Factory Method Singleton Command Comportamentais Chain of Responsibility Memento Observer Visitor Template Method Iterator State Strategy Mediator Estruturais Adapter Flyweight Bridge FacadeDecorator Composite Proxy ✓ ✓ ✓ ✓ Abstract Factory Factory Method Fonte: SHVETS (2022) ● Todos os produtos devem implementar a mesma interface. ● Um método fábrica deve ser criado, o tipo de retorno vai variar com o a interface comum do produto a ser criado ● Substituir todos os chamados aos construtores de produtos pelo método fábrica. ● Criar subclasses criadoras para cada tipo de produto e repassar o código de criação de cada subclasse para a nova subclasse criada. Abstract Factory ● Interfaces de produtos abstratas devem ser declaradas para todos os tipos de produtos. ● Uma fábrica abstrata deve ser criada. ● Para cada variante do produto, implementar uma fábrica concreta. ● Em cada uma das variantes, implementar métodos de criação de cada produto daquela variante. ● Nas classes que criarão os objetos de produto, manter uma instância da fábrica adequada. Fonte: SHVETS (2022) Atividade 21 Considere o código base contido no gist https://gist.github.com/939d5faa5349cf37c57baa9379b1a4fd. Siga as instruções contidas no repositório para modelar duas fábricas (de usuário e de relatórios) e implemente-as tomando como base o código disponibilizado. https://gist.github.com/939d5faa5349cf37c57baa9379b1a4fd Referências SHVETS, Alexander. Mergulho nos Padrões de Projeto. Edição 2023-1.24. Kyiv: Refactoring.guru. 2022.