Command Pattern Créez une classe pour enregistrer l'instance de classe (command.class) et traitez la méthode de l'instance de classe enregistrée comme la méthode command.class.
Sur cette page ・ Modèle de commande simple -Ajout d'une fonction pour afficher le nombre d'exécutions de méthodes Décrivez
Il a la configuration suivante
| classe | Explication | 
|---|---|
| command.interface | Rendre les instances enregistrées communes | 
| samCommand1.class | Mettre en œuvre la commande et avoir une méthode | 
| samCommand2.class | Mettre en œuvre la commande et avoir une méthode | 
| commandPool.class | Enregistrer les instances de samCommand1 et samCommand2 | 
| user(Main.class) | Command.Vérifiez le fonctionnement de la classe | 
command.interface
interface command{
  void s();
}
samCommand1.class
class samCommand1 implements command{
  public void s(){System.out.println("command1");}
}
samCommand2.class
class samCommand2 implements command{
  public void s(){System.out.println("command2");}
}
commandPool.class
class commandPool{
  command[] pool=new command[2];  // command.Stocke une instance de classe qui implémente l'interface
  void set(int key,command com){
    if(pool[key]==null){
       pool[key]=com;
    }
  }
  void exec(int key){
    pool[key].s();
  }
}
user(Main.class)
public static void main(String[] args){
  samCommand1 sc1 = new samCommand1();
  samCommand2 sc2 = new samCommand2();
  commandPool cop = new commandPool();
  cop.set(0,sc1);
  cop.set(1,sc2);
  cop.exec(1);
}}
CommandPool.class modifié en dessous
commandPool.class
class commandPool{
  command[] pool = new command[4];
  int[] count = new int[2];
  void  set(int key,command com){
    if(pool [key]==null){
       pool [key]=com;
       count[key]=0;
    }
  }
  void exec(int key){
    pool [key].s();
    count[key]++;
    System.out.println(count[key]+"Temps");
  }
}
        Recommended Posts