SlideShare uma empresa Scribd logo
InstitutoFederaldeEducação,CiênciaeTecnologiadaParaíba–campusCajazeiras 
Curso:AnáliseeDesenvolvimentodeSistemas 
Professor:Rodrigo 
Disciplina:PadrõesdeProjeto 
Fátima Ferreira 
Sérgio DinizPadrão de Criação de ObjetosFactoryMethod
Factory Method
“Definir uma interface para criar um objeto, mas deixar que subclasses decidam que classe instanciar. FactoryMethodpermite que uma classe delegue a responsabilidade de instanciamento às subclasses.” [GoF]
Intenção 
•Definirumainterfaceparacriaçãodeobjetos,permitindoasubclassedecidirqualdasimplementaçõesdeveserinstanciada; 
•FactoryMethodfazumaclassedelegarainstanciaçãoasubclasses; 
•Retornarumainstância,dentremuitaspossíveisclasses, dependendodosdadosprovidosaele. 
•Tambémconhecidocomovirtualconstrutor;
Intenção 
•Épossívelcriarumobjetosemterconhecimentoalgumdasuaclasseconcreta? 
•Esseconhecimentodeveestaremalgumapartedosistema,masnãoprecisaestarnecessariamentenocliente. 
•FactoryMethoddefineumainterfacecomumparacriarobjetos; 
•Oobjetoespecíficoédeterminadonasdiferentesimplementaçõesdessainterface; 
•FactoryMethodsãométodos(podemserestáticos)queretornamumainstânciadeumaclasse;
Intenção 
•Separaassim: 
•Uma"familia"declassesdotadasdamesmainterface("produtos");e 
•Umaclasse("fabrica")quepossuiummétodoespecial(ofactorymethod)quecriataisobjetos;
Motivação 
•Construirobjetosindividuaissemqueaconstruçãorequeiraconhecimentosdasclassesespecíficasqueestãosendoinstanciadas; 
•Criarumaclassedeabstraçãoquedecidequaldasopçõesdeclasseretornarsemqueaclasseretornadasejadeprévioconhecimento.
O Problema 
•Framework específico para uma aplicação que manipula documentos multimídia; 
•É possível criar um framework mais genérico, para qualquer aplicação de manipulação de documentos?
A Solução 
•Classesabstratasimplementamasfunçõescomunsatodotipodedocumento; 
•Métodofábricaédefinidonasuperclasseeimplementadonasubclasse.
Estrutura
A Lógica
Participantes 
•Product 
•DefineainterfacedosobjetosqueoFactoryMethodcria. 
•ConcreteProduct 
•Classesquevãoimplementarainterfacedefinidaemproduto. SãoasdiferentesClassesquepodemserinstanciadas;
Participantes 
•Creator 
•DeclaraoFactoryMethod(métododecriação)oqualretornaumobjetodotipoProduct(Produto).AFábricatambémpodedefinirumaimplementaçãobásicadoFactoryMethod,queretorneumobjetoProdutoCreatebásico. 
•ConcreteCreator 
•SobrescreveométododeproduçãopararetornarumobjetodaclasseConcreteProduct;
Aplicabilidade 
•UseFactoryMethodquando: 
•Umaclassenãopodeanteciparouconheceraclassedosobjetosquedevecriar; 
•Umaclassequersuassubclassesparaespecificarosobjetosquecria; 
•VocêprecisacriarumobjetomasvocênãoquerusaradiretivaNEWnaclassecliente;
Aplicabilidade 
Issoécomumnumaaplicaçãobemdesenhadaondevariáveissãoestruturadascombaseeminterfaces.Assim, váriostiposdeobjetosdiferentespodemserassociadasaessavariável.
Colaborações 
•Acriaçãodosobjetoséderesponsabilidadedaclassedeproduçãoquedeveretornarumobjetodeumaclasseapropriada; 
•AFábricadependedassuassubclassesparadefinirométodofábricademaneiraqueretorneumainstânciadaProdutoConcreto;
Consequências 
•MelhorExtensibilidade 
•Eliminaanecessidadedemontarumcódigoemfunçãoaumaclasseespecífica.Nonossoexemplodeaplicação,ocódigosólidacomumainterfacechamadaProduct. 
•Fornecerganchosparasubclasses 
•Essepadrãodeprojetodámaiorflexibilidadeparaasclasses, poiscriarumobjetoemumaclassequeutilizaoFactoryMethodémelhorquefazê-loemseparado,funcionando, assim,comoumaconexãoparaqueumadassubclassesforneçamumaversãoestendidadeumobjeto.
Desvantagens 
•Eventualmente,clientespodemterqueespecializaraclasseFabricaapenasparacriarumobjetoProdutoConcretoparticular;
Padrões Relacionados 
•Abstract Factory 
•TemplateMethod 
•Prototype
FactoryMethod-Exemplos
Exemplo 01 
SuponhaquenóstemosquedesenvolverumsistemadeconsultadeinformaçõesdeveículosCelta,palio,golevectra. Informamosqualcarroqueremosconsultarerecebemosasinformaçõessobreestescarros.Masnãoqueremosqueasclassesconcretasfiquemmuitoacopladasanossaclassecliente.
Diagrama
Solução
Solução
Solução
Solução
Solução
Exemplo 02 
Imagineaimplementaçãodeumsistemaparacontroledeumapizzaria.Apizzariadispõemdealgunstiposdepizza(pizzagregademoluscoestiloCajazeiras,pizzaportuguesaestiloSousa...),bemcomoosserviçosresponsáveisparafabricarumapizza(prepararapizza,assar,cortareempacotar); 
Problema... 
Aspizzasestãosendoinstanciadasnaclassecliente. 
Quandoclientequerprepararumanovapizza,elemesmoofaz.
Exemplo 02 
Cliente tem que preparar Pizza
Exemplo 02 
Oquefazerparasuprimirumapizzadaclasseprincipalouadicionarnovaspizzas? 
Oqueacontecesehouverváriospontosdeinstanciaçãodestaspizzas? 
ProblemadeACOPLAMENTO 
ClassesclientesdevemconhecerassubclassesdePizza. 
Mudançasnahierarquia(nonomedasclassesporexemplo) provocammudançasemtodosospontosdeinstanciaçãodaspizzas. 
Podehavermuitospontosdependendodosistema.
Exemplo 02
Exemplo 02 
Solução 
ENCAPSULARacriaçãodasPizzasemoutroobjetoquesabecomocriarinstanciarobjetosdassubclassespizzas. 
Dessamaneiratodocódigoqueforinstanciarpizzas,utilizaaclassefábrica(pizzaria)paracriarestesobjetos. 
Baixoacoplamento,jáquemudançasnasclassessãoabsorvidaspelafábrica; 
SomentefábricaconheceasPizzasconcretas;
Exemplo 02
Solução
Solução
Solução
Solução
Solução
Solução
Exemplo 03 
Imagineaseguintesituação: 
Desenvolverumsistemaderadarqueexecutaasseguintesoperações:enviaumsinalparacentraldecontrole,corrigirotempoverificaçãoeprocessarosinalcapturado.Sabendoqueoterrenoexercegrandeinfluêncianomododeoperaçãoeprocessamentodoradar.Ouseja,emterrenosplanos,aquáticosemontanhososoradarvaiapresentarcomportamentosdistintos.
Diagrama
Solução
Solução
Solução
Solução
Solução
Atividade 
Imaginequevocêfoicontratadoparadesenvolverjogodeestratégia.Nestejogonóstemostrêsinimigosozumbi, FeiticeiroeoTrollqueataca,virapraesquerda,virapradireita,andaprafrenteeparatrás. 
Imaginequetemosqueinstanciaressesobjetosnanossaaplicaçãodemaneiraqueocódigoclientenãofiquemuitoacopladoasclassesconcretas.
Diagrama
Solução
Solução
Solução
Solução
Solução
Patterns: Factory Method
Patterns: Factory Method

Mais conteúdo relacionado

PDF
Padrões-09 - Padrões Criacionais - Factory Method
PDF
Padrões-08 - Padrões Criacionais - Abstract Factory
PDF
Padrões-07 - Padrões Criacionais
PDF
Padrões-12 - Padrões Estruturais - Facade
PDF
Padrões-10 - Padrões Criacionais - Singleton
PDF
Padrões-11 - Padrões Estruturais - Adaptador
PDF
Padrões-13 - Padrões Estruturais - Proxy
PDF
POO2-Pre-32-PadroesProjetos_.pdf
Padrões-09 - Padrões Criacionais - Factory Method
Padrões-08 - Padrões Criacionais - Abstract Factory
Padrões-07 - Padrões Criacionais
Padrões-12 - Padrões Estruturais - Facade
Padrões-10 - Padrões Criacionais - Singleton
Padrões-11 - Padrões Estruturais - Adaptador
Padrões-13 - Padrões Estruturais - Proxy
POO2-Pre-32-PadroesProjetos_.pdf

Mais procurados (12)

PDF
Testes Unitários
PDF
Padrões de Projeto de Software Orientado a Objetos
PPT
Poo slides01
PDF
Reuso com Herança e Composição
PPT
Patterns
PDF
GoF Design Patterns - Borland Conference (BorCon) 2004
PPTX
Design Patterns (MSDN Webcast)
PDF
Aula 1 5
PDF
Programação Orientada a Objetos - Pós Graduação - aula 1
PPTX
Testes de software de A a Z
Testes Unitários
Padrões de Projeto de Software Orientado a Objetos
Poo slides01
Reuso com Herança e Composição
Patterns
GoF Design Patterns - Borland Conference (BorCon) 2004
Design Patterns (MSDN Webcast)
Aula 1 5
Programação Orientada a Objetos - Pós Graduação - aula 1
Testes de software de A a Z
Anúncio

Destaque (8)

PPTX
Factory Pattern
PDF
Design Patterns - Factory Method & Abstract Factory
PPTX
PDF
Memento pattern
PPTX
Memento pattern
PDF
Design patterns
PPT
Design Patterns
PDF
Design Patterns Illustrated
Factory Pattern
Design Patterns - Factory Method & Abstract Factory
Memento pattern
Memento pattern
Design patterns
Design Patterns
Design Patterns Illustrated
Anúncio

Semelhante a Patterns: Factory Method (20)

PPTX
Aula 02a - Padroes de Projeto - Factory.pptx
PPTX
Padrões de projeto
DOC
Travalho versao final
PDF
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
PPT
pec-12-patterns-intro.ppt
PDF
Padrões de Projeto - Design Patterns
PDF
Livro análise e projeto oo e uml
PDF
Padrões de Projeto de Software
PDF
Padroes De Projeto
PDF
Intro padroesprojetoadaptertemplateobserver
PPT
Apresentação Introdução Design Patterns
PDF
Design Patterns - Aula 2
PPT
Aula desesenvolvimento segunda semana
PPT
Gof design patterns
PPTX
Design pattern
PDF
Quick reference
PPT
Prototype
PDF
Apostila.pdf
PDF
umlAnãlise e projeto_oo_e_uml_2.0_(cesar_augusto_tacla)(1)
PDF
Design patterns: resolvendo problemas comuns (ruby)
Aula 02a - Padroes de Projeto - Factory.pptx
Padrões de projeto
Travalho versao final
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
pec-12-patterns-intro.ppt
Padrões de Projeto - Design Patterns
Livro análise e projeto oo e uml
Padrões de Projeto de Software
Padroes De Projeto
Intro padroesprojetoadaptertemplateobserver
Apresentação Introdução Design Patterns
Design Patterns - Aula 2
Aula desesenvolvimento segunda semana
Gof design patterns
Design pattern
Quick reference
Prototype
Apostila.pdf
umlAnãlise e projeto_oo_e_uml_2.0_(cesar_augusto_tacla)(1)
Design patterns: resolvendo problemas comuns (ruby)

Mais de Fatinha de Sousa (12)

PDF
Cross Site Scripting
PDF
Apresentação da ferramenta de Esteganografia JPHS
PDF
PPTX
Banco de dados dbo4
PDF
Desenvolvimento em equipe
PDF
Principais Vírus de Computador
PDF
Segurança Na Internet
PDF
Segurança em redes
PDF
Banco de Dados Multimidia
PDF
Gerenciamento de Pessoas
PDF
Estudo de Caso Windows
PDF
Patterns: Singleton
Cross Site Scripting
Apresentação da ferramenta de Esteganografia JPHS
Banco de dados dbo4
Desenvolvimento em equipe
Principais Vírus de Computador
Segurança Na Internet
Segurança em redes
Banco de Dados Multimidia
Gerenciamento de Pessoas
Estudo de Caso Windows
Patterns: Singleton

Último (20)

PDF
O retorno a origem (islã Islamismo)
PPTX
GUERRAFRIA.pptdddddddddddddddddddddddddx
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PDF
TANATOPRAXIA - Introdução.pdffffffffffffffff
PDF
A provisão de jojuador (ramadã) islamismo
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PPTX
HISTÓRIA DO BRASIL - anos de Democracia.pptx
PPTX
Reino Monera e Protista: representantes e caracteristicas.pptx
PPTX
biossegurança e segurança no trabalho (6).pptx
PDF
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
PPTX
O Romantismo e a identidade brasileira..
PDF
Ementa 2 semestre PEI Orientação de estudo
PPTX
norma regulamentadora numero vinte nr 20
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PDF
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
PDF
embriologia_animal_aula_share_2026_semestre
O retorno a origem (islã Islamismo)
GUERRAFRIA.pptdddddddddddddddddddddddddx
Realismo e Naturalismo: Aluísio Azevedo.
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
TANATOPRAXIA - Introdução.pdffffffffffffffff
A provisão de jojuador (ramadã) islamismo
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
HISTÓRIA DO BRASIL - anos de Democracia.pptx
Reino Monera e Protista: representantes e caracteristicas.pptx
biossegurança e segurança no trabalho (6).pptx
GESTÃO DA FASE PRÉ-ANALÍTICA- Recomendações da SBPC-ML (3).pdf
O Romantismo e a identidade brasileira..
Ementa 2 semestre PEI Orientação de estudo
norma regulamentadora numero vinte nr 20
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
50 anos Hoje - Volume V - 1973 - Manaus Amazonas
Aula 13 - Tópico Frasal - Argumentação.pptx
A relação entre funções executivas e desempenho acadêmico em crianças com Tra...
embriologia_animal_aula_share_2026_semestre

Patterns: Factory Method