Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouThiago Delgado Alterado mais de 10 anos atrás
1
Padrões de projeto detalhados Factory Method, Abstract Factory
Nazareno Andrade
2
Padrões de projeto (GoF)
De criação Estruturais 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?
5
Problema: queremos agora um currículo resumido que tem as mesmas funcionalidades do original, mas uma página de conteúdo diferente
6
Factory Method Intenção Aplicabilidade
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 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
Aplicabilidade 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 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 Factory Method, Abstract Factory
13
Conseqüências isolamento das classes concretas
torna fácil a troca de famílias de produtos promove a harmonia entre produtos é difícil, porém, suportar novos tipos de produtos Factory Method, Abstract Factory
14
Usos conhecidos 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 para lidar com look-and- feel das interfaces
15
Dúvidas?
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.