O padrão de fachada, também conhecido como modo de aparência, oculta a complexidade do sistema e fornece ao cliente uma interface que pode acessar o sistema. Esse tipo de padrão de design é um padrão estrutural. Ele adiciona uma interface ao sistema existente para ocultar a complexidade do sistema e fornece uma interface de acesso de alto nível unificada para um conjunto de interfaces no subsistema, o que facilita o acesso ou o uso do subsistema. Esse padrão envolve uma única classe que fornece métodos simplificados para solicitações de clientes e chamadas delegadas para os métodos existentes da classe do sistema.
Em resumo, é para encapsular um monte de processos complexos em uma interface para os usuários usarem para facilitar o uso. Existem três papéis neste padrão de design:
1) Caractere de fachada (fachada): Este é o núcleo do modo de fachada. É chamado pela função do cliente, por isso está familiarizado com a funcionalidade do subsistema. Ele se reserva internamente várias combinações funcionais com base nas necessidades existentes da função do cliente.
2) Função do subsistema (subsistema): implementa as funções do subsistema. Para isso, o papel da fachada é tão desconhecido quanto a função do cliente e não possui nenhuma informação e links para a função da fachada.
3) Função do cliente: Chame a função da fachada para concluir as funções a serem obtidas.
Aqui está um exemplo de implementação simples:
// define uma entrada unificada classe pública ShapeMaker {círculo de formas privadas; retângulo de forma privada; forma privada quadrada; public shapeMaker () {círculo = new circle (); retângulo = new Rectangle (); square = new Square ();} public void drawcircle () {circ.draw ();} vazio público {) e). {square.draw ();}} // usa diretamente a classe de aparência definida anteriormente para desenhar várias formas. As for how to obtain and draw, there is no need to pay attention to public class FacadePatternDemo {public static void main(String[] args) {ShapeMaker shapeMaker = new ShapeMaker();shapeMaker.drawCircle();shapeMaker.drawRectangle();shapeMaker.drawSquare();}}Figura 1: Diagrama UML
classe Drawerone {public void Open () {System.out.println ("A primeira gaveta é aberta"); getKey ();} public void getKey () {System.out.println ("Obtenha a chave da segunda gaveta");}} classe Drawertwo {public void Open () {System.out.out.out.out.); aberto "); getfile ();} public void getFile () {System.out.println (" Obtenha este arquivo importante ");}} classe Drawerfacade {Drawerone Darwerone = new Drawerone (); drawertwo darwertwo = new Drawertwo (); public void () {darwerone.open (); darwertwo.open ();}} public class DrawerClient {public static void main (string [] args) {drenwacacade gaveta = new drawerfacade (); drawer.open ();}}}}Cenário de uso do modo de fachada:
(1) Módulos que fornecem acesso externo a módulos ou subsistemas complexos.
(2) O subsistema é relativamente independente.
(3) Na estrutura hierárquica, a entrada de cada camada no sistema pode ser definida usando o padrão de aparência.
O acima é a explicação detalhada do modelo de design Java (modo de aparência) introduzido pelo editor. Espero que seja útil para todos!