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