Le motif de façade, également connu sous le nom de mode d'apparence, cache la complexité du système et fournit au client une interface qui peut accéder au système. Ce type de motif de conception est un motif structurel. Il ajoute une interface au système existant pour masquer la complexité du système et fournit une interface d'accès de haut niveau unifiée pour un ensemble d'interfaces dans le sous-système, ce qui rend le sous-système plus facile à accéder ou à utiliser. Ce modèle implique une seule classe qui fournit des méthodes simplifiées pour les demandes des clients et les appels délégués aux méthodes de classe système existantes.
En bref, il s'agit d'encapsuler un tas de processus complexes dans une interface à utiliser pour une utilisation plus facile. Il y a trois rôles dans ce modèle de conception:
1) Caractère de la façade (façade): C'est le cœur du mode FACADE. Il est appelé par le rôle client, il est donc familier avec la fonctionnalité du sous-système. Il réserve en interne plusieurs combinaisons fonctionnelles en fonction des besoins existants du rôle client.
2) Rôle du sous-système (sous-système): implémente les fonctions du sous-système. Pour cela, le rôle de façade est aussi inconnu que le rôle du client, et il n'a aucune information et lien avec le rôle de façade.
3) Rôle du client: Appelez le rôle de façade pour remplir les fonctions à obtenir.
Voici un exemple de mise en œuvre simple:
// Définir une entrée unifiée classe publique Modemaker {Circle de forme privée; Rectangle de forme privée; Square de forme privée; GiveMaker public () {cercle = new Circle (); rectangle = new rectangle (); square = new Square ();} public void drawCircle () {Circle.draw ();} public Void Drawrectangle () {RECTANGE.DRAW ();} {square.draw ();}} // Utilisez directement la classe d'apparence définie précédemment pour dessiner diverses formes. Quant à la façon d'obtenir et de dessiner, il n'est pas nécessaire de prêter attention à la classe publique facadepatterndemo {public static void main (string [] args) {shapemaker shapeMaker = new Shonemaker (); shapemaker.drawcircle ();}} drawrectangle (); shapeMaker.Drawsquare ();}}Figure 1: Diagramme UML
class tiroirOne {public void open () {System.out.println ("le premier tiroir est ouvert"); getKey ();} public void getKey () {System.out.println ("Get the Key to the Second Drawer");}} class DrawertWo {public Void open () {System.out.println ("Le deuxième dessin est le deuxième dessin est Ouvert "); getFile ();} public void getFile () {System.out.println (" Obtenez ce fichier important ");}} classe DrawerFacade {TramerOne darwerone = new TramerOne (); DrasertWo darwertwo = new DrawertWo (); public Void Open () {darwerone.open (); darwertwo.open ();}} public class drawerCLIENT {public static void main (String [] args) {tirherfacade tiroir = new tirherfacade (); tirher.open ();}}Scénario d'utilisation du mode de façade:
(1) Modules qui fournissent un accès externe à des modules ou sous-systèmes complexes.
(2) Le sous-système est relativement indépendant.
(3) Dans la structure hiérarchique, l'entrée de chaque couche du système peut être définie en utilisant le motif d'apparence.
Ce qui précède est l'explication détaillée du modèle de conception Java (mode d'apparence) introduit par l'éditeur. J'espère que ce sera utile à tous!