[JAVA] Modèle de commande

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

Design Pattarm MENU

Modèle de commande simple

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
  • Utilisateur Inclut la signification que les autres développeurs utilisent ce modèle

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);
}}

Ajout de fonction pour afficher le nombre d'exécutions de méthodes

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

Modèle de commande
Modèle de conception ~ Commande ~
Modèle de prototype
Motif de souvenir
Motif médiateur
Motif composite
Modèle d'observateur
Modèle de constructeur
Modèle de stratégie
Modèle d'itérateur
Modèle de visiteur
Modèle d'adaptateur
Modèle de proxy
Modèle de stratégie
Motif composite
Motif singleton
Motif singleton
Modèle de prototype
Modèle de façade
Motif décorateur
Modèle de poids mouche
Motif décorateur
Modèle de médiateur
Motif de façade
Modèle de visiteur
Commande docker-compose
Modèle de pont
modèle d'usine abstrait
Modèle de conception ~ Constructeur ~
[Java] Modèle de stratégie
Commande de mémorandum docker
Modèle de conception ~ Visiteur ~
Modèle de conception Java
modèle de rappel java
Modèle de conception ~ Proxy ~
Modèle de conception ~ État ~
Modèle de méthode d'usine
Modèle de conception ~ Stratégie ~
Modèle de conception ~ Singleton ~
Modèle de conception ~ Composite ~
Modèle de conception (2): constructeur
Modèle de conception (1): AbstractFactory
[Java] Motif singleton
commande de base docker
Modèle d'usine abstraite
Modèle de conception ~ Itérateur ~
Modèle de conception ~ Façade ~
Modèle de conception ~ Pont ~
Résumé de la commande Docker
Modèle de conception ~ Médiateur ~
Modèle de méthode de modèle
Modèle de conception ~ Décorateur ~
Modèle de modèle de méthode
Modèle de conception ~ Interprète ~
Mémo de commande Docker-compose
commande de démarrage nginx