Factory apresentacao
-
Upload
sti-society-tecnologia-da-informacao-ltda -
Category
Technology
-
view
635 -
download
2
Transcript of Factory apresentacao
![Page 1: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/1.jpg)
Universidade Feevale
Alunos: Sérgio Andrigo dos Santos
Gabriel Schmitt Kohlrausch
André Schmitz
Disciplina: Técnicas Avançadas de Programação
Professor: Marcelo Carboni
Outubro, 2010.
Design Patterns
Factory
![Page 2: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/2.jpg)
2
Factory - Definição
• Define uma interface ou classe abstrata para criar um objeto, mas deixa as subclasses decidirem qual classe instanciar.
• Na prática:
É uma forma de criar objetos deixando a decisão de qual classe concreta utilizar, por conta de regras
encapsuladas.
Este padrão estabelece uma forma de desenvolver objetos que são responsáveis pela criação de outros
objetos.
![Page 3: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/3.jpg)
3
Factory - Utilização
• Utilidade:
Quando você precisa criar objetos dinamicamente sem conhecer a classe de implementação.
• Exemplo:Necessidade de ter um objeto de conexão de dados, porém
a classe necessária para instanciar esse objeto depende do banco de dados a ser utilizado.
• Freqüência de uso:– Alta
![Page 4: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/4.jpg)
4
Factory - DiagramaParticipantes:
IProduct: Interface para
produtos que serão criados
ProductA e ProductB: Classes
que vão implementar a
interface Iproduct
Creator: Fornece a criação de
objetos concretos
Client: utiliza o Creator para
obter um objeto concreto do
FactoryMethod
![Page 5: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/5.jpg)
5
Factory – Demo 1
• Problema:
– Considere um mercado de classe alta que estoca e
vende carne de avestruz o ano todo.
– Essa loja possui um gerente de compras (comprador)
que garante o abastecimento o ano todo.
– A cada estação no ano a compra de carne deve ser
feita de uma região diferente:
• Inverno, Outono, Primavera: África do Sul
• Verão: Espanha
– Embora o produto seja rotulado a loja não se
interessa em saber a origem do produto.
![Page 6: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/6.jpg)
6
Factory – Demo 1
• Comparando com o diagrama:
Diagrama Exemplo
Client Loja
Creator Comprador
ProductA Fornecedor de carne da Espanha
ProductB Fornecedor de carne da África do Sul
Iproduct Fornecimento de carnes
![Page 7: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/7.jpg)
7
DEMO 1
![Page 8: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/8.jpg)
8
Factory – Demo 2
• Problema:
– Considere um sistema que tenha a capacidade de se
conectar e executar operações em vários SGDBs.
– Cada SGDB tem suas características próprias como
por exemplo string de conexão, métodos para
comandos sql, métodos para transações
– Devemos ter em todo sistema uma forma única
(objeto concreto) para realizar essas operações.
![Page 9: Factory apresentacao](https://reader030.fdocumentos.com/reader030/viewer/2022020123/559e6c1c1a28abd1458b4703/html5/thumbnails/9.jpg)
9
DEMO 2