SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (12)

Testes Unitários
Testes UnitáriosTestes Unitários
Testes Unitários
 
Padrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a ObjetosPadrões de Projeto de Software Orientado a Objetos
Padrões de Projeto de Software Orientado a Objetos
 
Java aula 03
Java aula 03Java aula 03
Java aula 03
 
Java aula 06
Java aula 06Java aula 06
Java aula 06
 
Poo slides01
Poo slides01Poo slides01
Poo slides01
 
Reuso com Herança e Composição
Reuso com Herança e ComposiçãoReuso com Herança e Composição
Reuso com Herança e Composição
 
Patterns
PatternsPatterns
Patterns
 
GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004GoF Design Patterns - Borland Conference (BorCon) 2004
GoF Design Patterns - Borland Conference (BorCon) 2004
 
Design Patterns (MSDN Webcast)
Design Patterns (MSDN Webcast)Design Patterns (MSDN Webcast)
Design Patterns (MSDN Webcast)
 
Aula 1 5
Aula 1 5Aula 1 5
Aula 1 5
 
Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1Programação Orientada a Objetos - Pós Graduação - aula 1
Programação Orientada a Objetos - Pós Graduação - aula 1
 
Testes de software de A a Z
Testes de software de A a ZTestes de software de A a Z
Testes de software de A a Z
 

Andere mochten auch

Andere mochten auch (8)

Factory Pattern
Factory PatternFactory Pattern
Factory Pattern
 
Design Patterns - Factory Method & Abstract Factory
Design Patterns - Factory Method & Abstract FactoryDesign Patterns - Factory Method & Abstract Factory
Design Patterns - Factory Method & Abstract Factory
 
Memento
MementoMemento
Memento
 
Memento pattern
Memento patternMemento pattern
Memento pattern
 
Memento pattern
Memento patternMemento pattern
Memento pattern
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Design Patterns Illustrated
Design Patterns IllustratedDesign Patterns Illustrated
Design Patterns Illustrated
 

Mehr von Fatinha de Sousa

Mehr von Fatinha de Sousa (12)

Cross Site Scripting
Cross Site Scripting Cross Site Scripting
Cross Site Scripting
 
Apresentação da ferramenta de Esteganografia JPHS
Apresentação da ferramenta de Esteganografia JPHSApresentação da ferramenta de Esteganografia JPHS
Apresentação da ferramenta de Esteganografia JPHS
 
Deep web
Deep webDeep web
Deep web
 
Banco de dados dbo4
Banco de dados dbo4Banco de dados dbo4
Banco de dados dbo4
 
Desenvolvimento em equipe
Desenvolvimento em equipeDesenvolvimento em equipe
Desenvolvimento em equipe
 
Principais Vírus de Computador
Principais Vírus de ComputadorPrincipais Vírus de Computador
Principais Vírus de Computador
 
Segurança Na Internet
Segurança Na InternetSegurança Na Internet
Segurança Na Internet
 
Segurança em redes
Segurança em redesSegurança em redes
Segurança em redes
 
Banco de Dados Multimidia
 Banco de Dados Multimidia Banco de Dados Multimidia
Banco de Dados Multimidia
 
Gerenciamento de Pessoas
Gerenciamento de PessoasGerenciamento de Pessoas
Gerenciamento de Pessoas
 
Estudo de Caso Windows
Estudo de Caso WindowsEstudo de Caso Windows
Estudo de Caso Windows
 
Patterns: Singleton
Patterns: SingletonPatterns: Singleton
Patterns: Singleton
 

Kürzlich hochgeladen

Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmicolourivalcaburite
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptssuser2b53fe
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLidianePaulaValezi
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º anoRachel Facundo
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...andreiavys
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...azulassessoria9
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptNathaliaFreitas32
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdfjacquescardosodias
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfcomercial400681
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfTutor de matemática Ícaro
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxSilvana Silva
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptRogrioGonalves41
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docPauloHenriqueGarciaM
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxLuciana Luciana
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfKarinaSouzaCorreiaAl
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxLuizHenriquedeAlmeid6
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptxJssicaCassiano2
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...marcelafinkler
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfamarianegodoi
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.denisecompasso2
 

Kürzlich hochgeladen (20)

Pesquisa Ação René Barbier Livro acadêmico
Pesquisa Ação René Barbier Livro  acadêmicoPesquisa Ação René Barbier Livro  acadêmico
Pesquisa Ação René Barbier Livro acadêmico
 
aula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.pptaula de bioquímica bioquímica dos carboidratos.ppt
aula de bioquímica bioquímica dos carboidratos.ppt
 
LENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretaçãoLENDA DA MANDIOCA - leitura e interpretação
LENDA DA MANDIOCA - leitura e interpretação
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
Considerando as pesquisas de Gallahue, Ozmun e Goodway (2013) os bebês até an...
 
Aula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .pptAula 1 - Psicologia Cognitiva, aula .ppt
Aula 1 - Psicologia Cognitiva, aula .ppt
 
Conflitos entre: ISRAEL E PALESTINA.pdf
Conflitos entre:  ISRAEL E PALESTINA.pdfConflitos entre:  ISRAEL E PALESTINA.pdf
Conflitos entre: ISRAEL E PALESTINA.pdf
 
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdfApresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
Apresentação ISBET Jovem Aprendiz e Estágio 2023.pdf
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptxCópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
Cópia de AULA 2- ENSINO FUNDAMENTAL ANOS INICIAIS - LÍNGUA PORTUGUESA.pptx
 
Artigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.pptArtigo Científico - Estrutura e Formatação.ppt
Artigo Científico - Estrutura e Formatação.ppt
 
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.docGUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
GUIA DE APRENDIZAGEM 2024 9º A - História 1 BI.doc
 
classe gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptxclasse gramatical Substantivo apresentação..pptx
classe gramatical Substantivo apresentação..pptx
 
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdfAula prática JOGO-Regencia-Verbal-e-Nominal.pdf
Aula prática JOGO-Regencia-Verbal-e-Nominal.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM  POLÍGON...
Polígonos, Diagonais de um Polígono, SOMA DOS ANGULOS INTERNOS DE UM POLÍGON...
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.O que é arte. Definição de arte. História da arte.
O que é arte. Definição de arte. História da arte.
 

Patterns: Factory Method