[JAVA] Modèle de proxy

Proxy Laisser la classe Proxy prendre en charge les tâches d'une classe spécifique Avoir une méthode pour déléguer des tâches qui ne peuvent pas être traitées par la classe Proxy à une classe spécifique Les instances d'une classe particulière ne seront pas créées tant que la tâche ne sera pas déléguée à une classe particulière </ b> </ font>

Ce qui suit est décrit sur cette page -Vérifier la structure du modèle de proxy ·La mise en oeuvre

Design Pattarm MENU

Vérification de la structure du modèle de proxy

Vérifiez avec la structure de classe suivante

classe Explication
sam.class Classe au nom de Proxy
samProxy.class sam.Agir pour les tâches de classe

sam.class


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

samProxy.class


class samProxy{
  sam  sam;
  void sm1(){}
  void sm2(){sam.sm2();}  //Déléguez la tâche à la classe sam. Créez une instance sam juste avant cela
}

la mise en oeuvre

sm1 () dans l'interface est une tâche qui peut être gérée par la classe samProxy sm2 () dans l'interface est une tâche que la classe samProxy ne peut pas gérer ça ira

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(){        //Une méthode qui délègue les tâches qui ne peuvent pas être traitées par samProxy à sam
         if(sam == null){   //Créez une instance sam lorsque vous en avez besoin
            sam =  new sam();
            sam.sm2();}
}}

user(Main.class)


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

Recommended Posts