1 / 15

Padr ões de projeto detalhados Factory Method , Abstract Factory

Padr ões de projeto detalhados Factory Method , Abstract Factory. Nazareno Andrade. Padr ões de projeto ( GoF ) De criação Estruturais De comportamento. 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

Download Presentation

Padr ões de projeto detalhados Factory Method , Abstract Factory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Padrões de projeto detalhadosFactoryMethod, 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?

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

  5. FactoryMethod • Intenção • 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

  6. Colaborações

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

  8. 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

  9. 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.

  10. UML

  11. 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

  12. 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

  13. 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

  14. Dúvidas?

More Related