Partager les concepts et l'utilisation du modèle de commande JS
Cet article présente principalement le concept et l'utilisation du mode commande dans le modèle de conception JS.Il décrit brièvement le principe et la fonction du mode commande et analyse les compétences pertinentes de définition et d'utilisation du mode commande sous la forme d'exemples javascript. il peut s'y référer. J'espère pouvoir aider tout le monde.
Le client crée une commande ; l'appelant exécute la commande ; le récepteur effectue les opérations correspondantes lorsque la commande est exécutée
Des objets de commande simples sont généralement utilisés pour éliminer le couplage entre deux objets (appelant et récepteur). Les objets de commande complexes sont généralement utilisés pour encapsuler des instructions indivisibles ou transactionnelles.
L'objectif principal du modèle de commande est d'isoler l'objet appelant (interface utilisateur, API, proxy, etc.) de l'objet qui implémente l'opération. Ce modèle peut être utilisé chaque fois que l'interaction entre deux objets nécessite un degré plus élevé de modularité. La commande
signifie utiliser une méthode ou une fonction simple pour effectuer l'opération réelle liée à cette commande. Tout comme allumer le téléviseur avec une télécommande, vous pouvez allumer le téléviseur avec un seul bouton, ce qui est simple et pratique. Nous n'avons pas besoin de nous soucier de ses opérations spécifiques de mise en œuvre. C'est géré par la télévision. Le téléviseur fournit une interface (signal) à la télécommande, et la télécommande n'a besoin d'implémenter cette interface que lorsqu'elle est cliquée.
Commande :
Définir l'interface de la commande et déclarer la méthode d'exécution.
ConcreteCommand :
L'objet d'implémentation de l'interface de commande est une implémentation "virtuelle" ; il contient généralement le récepteur et appelle la fonction du récepteur pour terminer l'opération à effectuer par la commande.
Récepteur :
Récepteur, l'objet qui exécute réellement la commande. N'importe quelle classe peut devenir un récepteur à condition qu'elle puisse implémenter les fonctions correspondantes requises par la commande.
Invoker :
nécessite l'objet de commande pour exécuter la requête. Il contient généralement l'objet de commande et peut contenir de nombreux objets de commande. C'est là que le client déclenche réellement la commande et demande à la commande d'effectuer l'opération correspondante, ce qui équivaut à l'entrée de l'objet de commande.
Client :
Créez un objet de commande spécifique et définissez le destinataire de l'objet de commande. Notez qu'il ne s'agit pas d'un client au sens conventionnel du terme, mais d'un assemblage de l'objet de commande et du récepteur. Il serait peut-être préférable d'appeler ce client un assembleur, car le client qui utilise réellement la commande déclenche l'exécution à partir de l'invoker
Analyse des modèles
1. L'essence du modèle de commande est d'encapsuler les commandes et de séparer la responsabilité de l'émission des commandes de la responsabilité de l'exécution des commandes.
2. Chaque commande est une opération : la partie requérante envoie une demande pour effectuer une opération ; la partie réceptrice reçoit la demande et effectue l'opération.
3. Le mode commande permet à la partie requérante et à la partie réceptrice d'être indépendantes, de sorte que la partie requérante n'a pas besoin de connaître l'interface de la partie recevant la demande, encore moins comment la demande est reçue, et si et quand l’opération est exécutée et comment elle est exécutée.
4. Le mode commande fait de la requête elle-même un objet, qui peut être stocké et transféré comme les autres objets.
5. La clé du mode commande est l'introduction d'une interface de commande abstraite, et l'expéditeur est programmé pour l'interface de commande abstraite. Seules les commandes spécifiques qui implémentent l'interface de commande abstraite peuvent être associées au récepteur.
Avantages du modèle
1. Réduisez le couplage entre les objets.
2. De nouvelles commandes peuvent être facilement ajoutées au système.
3. Il est plus facile de concevoir une commande combinée.
4. Appelez la même méthode pour implémenter différentes fonctions
// 命令 var CreateCommand = function( receiver ){ this.receiver = receiver; } CreateCommand.prototype.execute = function() { this.receiver.action(); } // 接收者 电视 var TVOn = function() {} TVOn.prototype.action = function() { alert("TVOn"); } // 接收者 电视 var TVOff = function() {} TVOff.prototype.action = function() { alert("TVOff"); } // 调用者 遥控器 var Invoker = function( tvOnCommand, tvOffCommand ) { this.tvOnCommand = tvOnCommand; this.tvOffCommand = tvOffCommand; } Invoker.prototype.tvOn = function() { this.tvOnCommand.execute(); } Invoker.prototype.tvOff = function() { this.tvOffCommand.execute(); }
Exécuter le client
var tvOnCommand = new CreateCommand( new TVOn() ); var tvOffCommand = new CreateCommand( new TVOff() ); var invoker = new Invoker( tvOnCommand, tvOffCommand ); invoker.tvOn(); invoker.tvOff();
Recommandations associées :
Un exemple d'explication du modèle de commande dans les modèles de conception Java
Un exemple de code simple pour implémenter le mode commande PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quark Netdisk et Baidu Netdisk sont tous deux des outils de stockage très pratiques. De nombreux utilisateurs se demandent si ces deux logiciels sont interopérables ? Comment partager Quark Netdisk avec Baidu Netdisk ? Laissez ce site présenter en détail aux utilisateurs comment enregistrer les fichiers Quark Network Disk sur Baidu Network Disk. Comment enregistrer des fichiers de Quark Network Disk vers Baidu Network Disk Méthode 1. Si vous souhaitez savoir comment transférer des fichiers de Quark Network Disk vers Baidu Network Disk, téléchargez d'abord les fichiers qui doivent être enregistrés sur Quark Network Disk, puis ouvrez le client Baidu Network Disk, sélectionnez le dossier dans lequel le fichier compressé doit être enregistré et double-cliquez pour ouvrir le dossier. 2. Après avoir ouvert le dossier, cliquez sur « Télécharger » dans le coin supérieur gauche de la fenêtre. 3. Recherchez le fichier compressé qui doit être téléchargé sur votre ordinateur et cliquez pour le sélectionner.

1. Tout d'abord, nous entrons dans NetEase Cloud Music, puis cliquons sur l'interface de la page d'accueil du logiciel pour accéder à l'interface de lecture de chansons. 2. Ensuite, dans l'interface de lecture de la chanson, recherchez le bouton de fonction de partage en haut à droite, comme indiqué dans l'encadré rouge de la figure ci-dessous, cliquez pour sélectionner le canal de partage dans le canal de partage, cliquez sur l'option « Partager sur » sur en bas, puis sélectionnez le premier « WeChat Moments » qui vous permet de partager du contenu avec WeChat Moments.

Classification et analyse de l'utilisation des commentaires JSP Les commentaires JSP sont divisés en deux types : commentaires sur une seule ligne : se terminant par, une seule ligne de code peut être commentée. Commentaires multilignes : commençant par /* et se terminant par */, vous pouvez commenter plusieurs lignes de code. Exemple de commentaire sur une seule ligne Exemple de commentaire sur plusieurs lignes/**Ceci est un commentaire sur plusieurs lignes*Peut commenter plusieurs lignes de code*/Utilisation des commentaires JSP Les commentaires JSP peuvent être utilisés pour commenter le code JSP afin de le rendre plus facile à lire

Récemment, le client Android Baidu Netdisk a inauguré une nouvelle version 8.0.0. Cette version apporte non seulement de nombreux changements, mais ajoute également de nombreuses fonctions pratiques. Parmi eux, le plus frappant est l’amélioration de la fonction de partage de dossiers. Désormais, les utilisateurs peuvent facilement inviter des amis à rejoindre et partager des fichiers importants au travail et dans la vie, obtenant ainsi une collaboration et un partage plus pratiques. Alors, comment partager les fichiers que vous devez partager avec vos amis ? Ci-dessous, l'éditeur de ce site vous fera une introduction détaillée, j'espère qu'il pourra vous aider ! 1) Ouvrez l'application Baidu Cloud, cliquez d'abord pour sélectionner le dossier approprié sur la page d'accueil, puis cliquez sur l'icône [...] dans le coin supérieur droit de l'interface (comme indiqué ci-dessous) 2) Cliquez ensuite sur [+] dans la colonne "Membres partagés" 】, et enfin cochez tous

WPS est une suite logicielle bureautique couramment utilisée et la fonction de table WPS est largement utilisée pour le traitement des données et les calculs. Dans le tableau WPS, il existe une fonction très utile, la fonction DATEDIF, qui permet de calculer le décalage horaire entre deux dates. La fonction DATEDIF est l'abréviation du mot anglais DateDifference. Sa syntaxe est la suivante : DATEDIF(start_date,end_date,unit) où start_date représente la date de début.

Comment utiliser la fonction exit en langage C nécessite des exemples de code spécifiques. En langage C, nous devons souvent terminer l'exécution du programme au début du programme, ou quitter le programme sous certaines conditions. Le langage C fournit la fonction exit() pour implémenter cette fonction. Cet article présentera l'utilisation de la fonction exit() et fournira des exemples de code correspondants. La fonction exit() est une fonction de bibliothèque standard en langage C et est incluse dans le fichier d'en-tête. Sa fonction est de terminer l'exécution du programme, et peut prendre un nombre entier

Mango TV propose différents types de films, séries télévisées, émissions de variétés et autres ressources, et les utilisateurs peuvent choisir librement de les regarder. Les membres de Mango TV peuvent non seulement regarder toutes les séries VIP, mais également définir la qualité d'image la plus haute définition pour aider les utilisateurs à regarder les séries avec plaisir. Ci-dessous, l'éditeur vous proposera des comptes d'adhésion gratuits à Mango TV que les utilisateurs pourront utiliser, dépêchez-vous et jetez un œil. Regarde. Mango TV dernier compte membre partage gratuit 2023 : Remarque : Ce sont les derniers comptes membres collectés, vous pouvez vous connecter et les utiliser directement, ne changez pas le mot de passe à volonté. Numéro de compte : 13842025699 Mot de passe : qds373 Numéro de compte : 15804882888 Mot de passe : evr6982 Numéro de compte : 13330925667 Mot de passe : jgqae Numéro de compte : 1703

La fonction ISNULL() dans MySQL est une fonction utilisée pour déterminer si une expression ou une colonne spécifiée est NULL. Il renvoie une valeur booléenne, 1 si l'expression est NULL, 0 sinon. La fonction ISNULL() peut être utilisée dans l'instruction SELECT ou pour un jugement conditionnel dans la clause WHERE. 1. La syntaxe de base de la fonction ISNULL() : ISNULL(expression) où expression est l'expression permettant de déterminer si elle est NULL ou
