Discussion correcte:
Le mode de commande résume une demande ou une opération dans un objet. Le système d'exécution du mode de commande utilise différentes demandes pour paramétrer le client, les demandes de file d'attente ou les journaux de demande d'enregistrement, et peut fournir des fonctions de révocation et de récupération de commande.
populaire:
En fait, c'est facile à comprendre. Mode de commande, ce qui vous intéresse, ce sont les commandes (ou les opérations). Donnons un exemple. Dans une entreprise, toute l'opération est comme un système. Un patron a rendu une commande et le leader de niveau intermédiaire a reçu la commande, puis l'a attribué à l'employé spécifique en charge. L'ensemble du processus est clair. Il existe une exigence, comment réparer ce processus et former un système. Nous avons juste besoin de saisir le point clé: commande. Extrairez-le et tout le reste sera résolu. Extraire les commandes et les encapsuler dans un objet indépendant pour atteindre le découplage. Quant aux autres, il peut être facilement élargi, que cette commande ait été proposée par le PDG, le service des ressources humaines ou votre père. Que l'exécuteur testamentaire de cet ordre soit Zhang San ou Turtle. L'émergence de ce modèle est en fait un philosophique "saisissant la principale contradiction". Plus d'exemples, tels que les autres écrivains ont cité "quelle est la différence entre aller au bord de la route et aller dans un restaurant de barbecue pour manger du barbecue" ou "The Monkey King fait un gros bruit sur l'empereur de jade dans le palais céleste pour capturer des singes avec Taibai Vénus".
Le mode de commande java est essentiellement une encapsulation de commandes, qui sépare la responsabilité de publier des commandes et les délégue à différents objets. En termes simples, je suis le patron, donc j'envoie juste une commande. Quant à qui envoyer cette commande et qui l'exécute, c'est à moi. Je n'envoie pas d'argent pour embaucher quelqu'un pour me causer des ennuis. Vous êtes l'employé en charge des choses, et votre devoir est de faire les tâches affectées par vos supérieurs. Soyez terre-à-terre, je ne sais pas trop, ne bavardez pas, ne demandez pas trop.
accomplir:
Jetons un coup d'œil au diagramme de classe d'abord:
Sur la base de cela, nous examinons l'exemple de code:
Interface publique icommand {void execute (); } classe publique ConcreteCommand implémente iCOMMand {récepteur privé récepteur; public ConcreteCommand (récepteur récepteur) {this.receiver = récepteur; } @Override public void execute () {this.receiver.action (); }} public classe récepteur {public void action () {System.out.println ("récepteur fait quelque chose"); }} public class invoker {private iCommand Command; public invoker (icommand Command) {this.command = commande; } public void invoke () {this.command.execute (); }} Public Class Test {public static void main (String [] args) {receiver receiver = new receiver (); // le vrai exécuteur icommand commande = new ConcreteCommand (récepteur); // la commande utilisée pour l'isolement invoker = new invoker (Command); // the callat invoker.invoke (); }}
avantage:
défaut:
Il peut y avoir trop de classes de commande spécifiques.