SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
Design Patterns
                                   Facade pattern




   Alunos: Gustavo Lopes, Igor Salvati, José Carlos, Rhyad Janse, Thiago
   Canete, Thiago Pereira.

   Turmas: 10 A.




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                      Introdução:



    Padrão do tipo Estrutural;


    Fornece uma interface simplificada.




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                         Intent:

    O objetivo do Facade Pattern é criar uma
     interface no mesmo nível das subclasses, para
     englobar um conjunto de métodos(ações),
     divididos entre as subclasses, em uma classe
     principal facade.




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                     Motivation:


    Estruturar um sistema em subsistemas ajuda
     a reduzir a complexidade;


    Um objetivo comum em desenvolvimentos, é
     minimizar a comunicação e as dependencias
     entre subsistemas;


Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                        Exemplo:



     Library

     SubSysA       SubSysB       SubSysC                Facade                  Client
                                                    -a: SubSysA
                                                    -b: SubSysB                - facade:
                                                    -c: SubSysC                  Facade

                                                    +Operation1()
                                                    +Operation2()




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                   Applicability:

   A maioria dos padrões, quando aplicados,
    resultam em mais classes, porém menores. Isso
    torna os subsistemas mais reusaveis e faceis de
    costumizar, mas também torna mais dificeis
    para clientes que não precisam dessa
    custumização. O facade pode fornecer uma visão
    padrão simples do subsistema, que é boa o
    suficiente para a maioria dos clientes.


Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                      Structure:




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                   Consequences:

    Tornar uma biblioteca de software mais fácil de
     entender e usar;

    Tornar o código que utiliza esta biblioteca mais
     limpo e fácil de entender;

    Não impede as aplicações de utilizarem as
     classes de subsistemas. Você pode escolher entre
     facilidade de uso e generalidade.

Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                        Exemplo:




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                        Exemplo:




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                      Conclusão:

    Apenas clientes que precisam de muita
     customização, precisarão ir além do facade.




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
Facade Pattern
                                      Biografia:

    Design Patterns, Elements of reusable Oject-
     Oriented Software, Erich Gamma, Richard
     Helm, Ralph Johnson, John Vlissides.




Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.

Mais conteúdo relacionado

Semelhante a Facade Pattern Explained

Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsHerval Freire
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projetoejdn1
 
Apresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de DadosApresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de DadosLuan Lima
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelRyan Padilha
 
Dissertacao (1)
Dissertacao (1)Dissertacao (1)
Dissertacao (1)fodisz
 
Arquitetura de software e Frameworks
Arquitetura de software e FrameworksArquitetura de software e Frameworks
Arquitetura de software e FrameworksSergio Crespo
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012Luís Cobucci
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasNorton Guimarães
 
Reutilização
ReutilizaçãoReutilização
Reutilizaçãoemjorge
 
Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...
Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...
Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...Marcos Alves Vieira
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design PatternsLucas Simões Maistro
 
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc   Fernando & LeonardoEstudo De Aplicabilidade Do PadrãO Mvc   Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & LeonardoFernando A. Barbeiro Campos
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SWMatheus Costa
 

Semelhante a Facade Pattern Explained (20)

Padrões De Projeto e Anti Patterns
Padrões De Projeto e Anti PatternsPadrões De Projeto e Anti Patterns
Padrões De Projeto e Anti Patterns
 
Padroes De Projeto
Padroes De ProjetoPadroes De Projeto
Padroes De Projeto
 
Apresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de DadosApresentação: Padrões de Projetos para Persistência de Dados
Apresentação: Padrões de Projetos para Persistência de Dados
 
Design Patterns
Design PatternsDesign Patterns
Design Patterns
 
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e FlexívelDesign Pattern MVC – Arquitetura de Software Coesa e Flexível
Design Pattern MVC – Arquitetura de Software Coesa e Flexível
 
Aula05 frameworks
Aula05 frameworksAula05 frameworks
Aula05 frameworks
 
Dissertacao (1)
Dissertacao (1)Dissertacao (1)
Dissertacao (1)
 
Arquitetura de software e Frameworks
Arquitetura de software e FrameworksArquitetura de software e Frameworks
Arquitetura de software e Frameworks
 
DDD e PHP - TDC 2012
DDD e PHP - TDC 2012DDD e PHP - TDC 2012
DDD e PHP - TDC 2012
 
Framework Miolo
Framework MioloFramework Miolo
Framework Miolo
 
Arquitetura de Sofware
Arquitetura de SofwareArquitetura de Sofware
Arquitetura de Sofware
 
Criando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e DicasCriando Framework - Conceitos, Estratégias e Dicas
Criando Framework - Conceitos, Estratégias e Dicas
 
Reutilização
ReutilizaçãoReutilização
Reutilização
 
Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...
Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...
Modelagem de Espaços Inteligentes Pessoais e Espaços Inteligentes Fixos no co...
 
Apresentação Introdução Design Patterns
Apresentação Introdução Design PatternsApresentação Introdução Design Patterns
Apresentação Introdução Design Patterns
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Padrões de design orientado a objetos
Padrões de design orientado a objetosPadrões de design orientado a objetos
Padrões de design orientado a objetos
 
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc   Fernando & LeonardoEstudo De Aplicabilidade Do PadrãO Mvc   Fernando & Leonardo
Estudo De Aplicabilidade Do PadrãO Mvc Fernando & Leonardo
 
Travalho versao final
Travalho versao finalTravalho versao final
Travalho versao final
 
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SWPLANO DE PROJETO DE SOFTWARE  para produtos da Lacertae SW
PLANO DE PROJETO DE SOFTWARE para produtos da Lacertae SW
 

Facade Pattern Explained

  • 1. Design Patterns Facade pattern Alunos: Gustavo Lopes, Igor Salvati, José Carlos, Rhyad Janse, Thiago Canete, Thiago Pereira. Turmas: 10 A. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 2. Facade Pattern Introdução:  Padrão do tipo Estrutural;  Fornece uma interface simplificada. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 3. Facade Pattern Intent:  O objetivo do Facade Pattern é criar uma interface no mesmo nível das subclasses, para englobar um conjunto de métodos(ações), divididos entre as subclasses, em uma classe principal facade. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 4. Facade Pattern Motivation:  Estruturar um sistema em subsistemas ajuda a reduzir a complexidade;  Um objetivo comum em desenvolvimentos, é minimizar a comunicação e as dependencias entre subsistemas; Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 5. Facade Pattern Exemplo: Library SubSysA SubSysB SubSysC Facade Client -a: SubSysA -b: SubSysB - facade: -c: SubSysC Facade +Operation1() +Operation2() Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 6. Facade Pattern Applicability: A maioria dos padrões, quando aplicados, resultam em mais classes, porém menores. Isso torna os subsistemas mais reusaveis e faceis de costumizar, mas também torna mais dificeis para clientes que não precisam dessa custumização. O facade pode fornecer uma visão padrão simples do subsistema, que é boa o suficiente para a maioria dos clientes. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 7. Facade Pattern Structure: Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 8. Facade Pattern Consequences:  Tornar uma biblioteca de software mais fácil de entender e usar;  Tornar o código que utiliza esta biblioteca mais limpo e fácil de entender;  Não impede as aplicações de utilizarem as classes de subsistemas. Você pode escolher entre facilidade de uso e generalidade. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 9. Facade Pattern Exemplo: Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 10. Facade Pattern Exemplo: Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 11. Facade Pattern Conclusão:  Apenas clientes que precisam de muita customização, precisarão ir além do facade. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.
  • 12. Facade Pattern Biografia:  Design Patterns, Elements of reusable Oject- Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Universidade Federal de Lavras, Departamento de Ciência da Computação, 24 de outubro de 2012.