A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Padrões de projeto detalhados Factory Method, Abstract Factory Nazareno Andrade.

Apresentações semelhantes


Apresentação em tema: "Padrões de projeto detalhados Factory Method, Abstract Factory Nazareno Andrade."— Transcrição da apresentação:

1 Padrões de projeto detalhados Factory Method, Abstract Factory Nazareno Andrade

2 Padrões de projeto (GoF) De criação De criação Estruturais Estruturais De comportamento De comportamento

3 Problema-exemplo Sistema para criar e exibir currículo Um currículo tem página de rosto, página de conteúdo e página de encerramento Design?

4

5 Problema: queremos agora um currículo resumido que tem as mesmas funcionalidades do original, mas uma página de conteúdo diferente

6 6 Factory Method Intenção Definir uma interface para criar objetos, mas deixar as subclasses decidirem que classe instanciar. Permite adiar a instanciação para subclasses. Definir uma interface para criar objetos, mas deixar as subclasses decidirem que classe instanciar. Permite adiar a instanciação para subclasses.Aplicabilidade classe não conhece antecipadamente a classe dos objetos que deve criar classe não conhece antecipadamente a classe dos objetos que deve criar classe quer que suas subclasses especifiquem os objetos que criam classe quer que suas subclasses especifiquem os objetos que criam

7 Colaborações

8 Problema-exemplo 2 Serviço de envio de pedidos Inicialmente enviamos sempre por Queremos agora enviar via REST para fornecedores maiores

9 Problema Como garantir que, em um contexto, mensagem e serviço de mensagem serão da mesma Família? Isso acontece por exemplo no look-and-feel de interfaces gráficas

10 Solução: Abstract Factory Solução: Fornece uma interface para a criação de uma família de objetos relacionados ou dependentes sem especificar classes concretas.

11 UML

12 12 Factory Method, Abstract Factory Aplicabilidade um sistema deve ser independente de como seus produtos são criados, compostos ou representados um sistema deve ser independente de como seus produtos são criados, compostos ou representados um sistema deve ser configurado como um produto de uma família de múltiplos produtos um sistema deve ser configurado como um produto de uma família de múltiplos produtos uma família de objetos-produto for projetada para ser usada em conjunto e você necessita garantir esta restrição uma família de objetos-produto for projetada para ser usada em conjunto e você necessita garantir esta restrição você quer fornecer uma biblioteca de classes de produtos e quer revelar somente suas interfaces, não suas implementações você quer fornecer uma biblioteca de classes de produtos e quer revelar somente suas interfaces, não suas implementações

13 13 Factory Method, Abstract Factory Conseqüências isolamento das classes concretas isolamento das classes concretas torna fácil a troca de famílias de produtos torna fácil a troca de famílias de produtos promove a harmonia entre produtos promove a harmonia entre produtos é difícil, porém, suportar novos tipos de produtos é difícil, porém, suportar novos tipos de produtos

14 Usos conhecidos Família de classes necessária para lidar com banco de dados Família de classes necessária para lidar com banco de dados Família de classes necessária para lidar com placa de rede Família de classes necessária para lidar com placa de rede Família de classes para lidar com look-and- feel das interfaces Família de classes para lidar com look-and- feel das interfaces

15 Dúvidas?


Carregar ppt "Padrões de projeto detalhados Factory Method, Abstract Factory Nazareno Andrade."

Apresentações semelhantes


Anúncios Google