Façade
A idéia principal do Façade, é oferecer uma Interface única para o conjunto de interfaces de um subsistema.
Um problema clássico é: Em um determinado contexto, um cliente precisa saber muitos detalhes do Subsistema.
No cenário acima, o cliente tem acesso a todos os componentes do subsistema. E neste caso, o trabalho que ele teria seria absurdamente grande, pois, teria que conhecer todos os componentes, detalhadamente, e ter que controlar todos os acessos ‘no braço’, sem falar que, uma manutenção daria a maior dor de cabeça.
Com o uso do Façade, facilmente resolvemos este problema. Pois como já foi dito, ele oferece uma interface única para acesso ao subsistema, além de reduzir a complexidade da comunicação entre o cliente e as demais classes utilitárias.
Solução:
A estrutura apresentada, é bastante simples, a classe que construirá o Façade, deverá oferecer os recursos suficientes para que seus clientes possam usar o subsistema adequadamente, lembrando que, sem precisar de conhecer as interfaces de seus componentes.
Para este padrão, existe inúmeras maneiras de representá-lo, mas o que importa mesmo, é que o cliente apenas utilize os objetos da classe façade, deixando toda a responsabilidade de acesso/manipulação aos outros componentes pra ela.
Pequeno Exemplo do Façade em Java.
Mas quais as vantagens de se utilizar este padrão?
* Proteger o cliente das complexidades dos componentes do subsistema
* Acoplamento fraco, entre o subsistema e os clientes
* Redução de dependências de compilação
* Maior portabilidade
E para finalizar, Fachadas freqüentemente são implementadas como Singleton. (cenas para o próximo capítulo).
Muito bom....parabéns
ResponderExcluir