FACADE
TRABALHO DE PÓS-GRADUAÇÃO – FASUL TOLEDO
Renato Welinton Schlogel
O Padrão de Projeto Facade, tem como objetivo dividir sistemas em subsistemas para diminuir a complexidades do código . Este padrão trata de associações entre classes e objetos, sendo geralmente utilizado em projetos orientados a objetos. Este padrão oculta a complexidade de uma ou mais classes em uma Fachada (Facade). Desta forma ele permite uma utilização mais simples de um subsistema complexo apenas implementado uma classe com interface única e mais simples, mas mesmo assim permite o acesso as classes subsistema de baixo nível. O Padrão Facade não encapsula as interfaces do sistema, ele apenas as organiza, centralizando o acesso de forma simplificada. Imagine que um sistema possua centenas de classes, e essas centenas de classe posso possuir vários métodos, para o mais variados tipo eventos possíveis, e para determinada situação tenhamos que acessar vários destes métodos que estão em varias classes diferentes. Isso se torna complexo, e pode muitas vezes ser falho, quando ser tem que fazer isso em locais diferentes. Com um Facade, teríamos apenas que fazer este trabalho um vez dentro da Facade, e sempre que precisar executar essa operação , apenas necessita invocar a Facade, simplificando e resumindo tudo com uma simples interface. Vale ressaltar que isso não significa que uma Facade não tenha também funcionalidades próprias, ou seja, que tenha a sua própria inteligência e também utilize o subsistema.
Um subsistema pode ter diversos Facades. Pode ter Facades de Facades conforme exemplo abaixo:
Existe um sistemas de limite de credito. Esse sistema possui varias classes que se fornecem métodos e eventos específicos para uma determinada situação. O limite de credito deve ser calculado a todas pesquisa devido a variações monetárias que podem ocorrer em data diferentes.
Assim criaremos um Facade para buscar o saldo atualizado e processado com o nome de