[JAVA] Proxy-Muster

Proxy Lassen Sie die Proxy-Klasse die Aufgaben einer bestimmten Klasse übernehmen Verfügen Sie über eine Methode zum Delegieren von Aufgaben, die von der Proxy-Klasse nicht verarbeitet werden können, an eine bestimmte Klasse Instanzen einer bestimmten Klasse werden erst erstellt, wenn die Aufgabe an eine bestimmte Klasse delegiert wurde </ b> </ font>

Das Folgende wird auf dieser Seite beschrieben -Überprüfen Sie die Struktur des Proxy-Musters ·Implementierung

Design Pattarm MENU

Überprüfen der Struktur des Proxy-Musters

Überprüfen Sie mit der folgenden Klassenstruktur

Klasse Erläuterung
sam.class Klasse im Auftrag von Proxy
samProxy.class sam.Handeln für Klassenaufgaben

sam.class


class sam{
  void sm1(){}
  void sm2(){}}

samProxy.class


class samProxy{
  sam  sam;
  void sm1(){}
  void sm2(){sam.sm2();}  //Delegieren Sie die Aufgabe an die Sam-Klasse. Erstellen Sie kurz zuvor eine Sam-Instanz
}

Implementierung

sm1 () in der Schnittstelle ist eine Aufgabe, die von der samProxy-Klasse verarbeitet werden kann sm2 () in der Schnittstelle ist eine Aufgabe, die die samProxy-Klasse nicht verarbeiten kann Wird besorgt

s.interface


interface s{
  void sm1();
  void sm2();
}

sam.class


class sam implements s{
  public void sm1(){System.out.println("sam1");}
  public void sm2(){System.out.println("sam2");}
}

samProxy.class


class samProxy implements s{
  sam  sam;
  public void sm1(){System.out.println("proxy1");}
  public void sm2(){        //Eine Methode, die Aufgaben, die von samProxy nicht verarbeitet werden können, an sam delegiert
         if(sam == null){   //Erstellen Sie eine Sam-Instanz, wenn Sie sie benötigen
            sam =  new sam();
            sam.sm2();}
}}

user(Main.class)


public static void main(String[] args){
  s s = new samProxy();
  s.sm2();
}}

Recommended Posts