Command Pattern Erstellen Sie eine Klasse zum Speichern der Klasseninstanz (command.class) und behandeln Sie die Methode der gespeicherten Klasseninstanz wie die command.class-Methode.
Auf dieser Seite ・ Einfaches Befehlsmuster -Zusatz einer Funktion zur Anzeige der Anzahl der Methodenausführungen Beschreibe über
Es hat die folgende Konfiguration
Klasse | Erläuterung |
---|---|
command.interface | Machen Sie die registrierten Instanzen gemeinsam |
samCommand1.class | Implementieren Sie den Befehl und haben Sie eine Methode |
samCommand2.class | Implementieren Sie den Befehl und haben Sie eine Methode |
commandPool.class | Speichern Sie Instanzen von samCommand1 und samCommand2 |
user(Main.class) | Command.Überprüfen Sie die Funktionsweise der Klasse |
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.Speichert eine Klasseninstanz, die die Schnittstelle implementiert
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 wurde nach unten geändert
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]+"Zeit");
}
}
Recommended Posts