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.