Maison > interface Web > js tutoriel > Série de modèles de conception JavaScript 5 : modèle d'adaptateur

Série de modèles de conception JavaScript 5 : modèle d'adaptateur

不言
Libérer: 2018-04-02 14:05:44
original
1210 Les gens l'ont consulté

Cet article partage avec vous la cinquième série de modèles de conception JavaScript : Modèle d'adaptateur. Les amis intéressés peuvent jeter un œil à

Qu'est-ce que le modèle d'adaptateur ?

Le soi-disant. Modèle d'adaptateur Il s'agit d'utiliser une nouvelle interface pour envelopper l'interface existante et gérer l'inadéquation entre la classe et l'API. Les objets utilisant ce modèle sont également appelés wrappers.
Par exemple, nous avons une interface :

function api (x1, x2, x3) {
  console.log(x1 + x2 + x3);  // 用console.log来模拟接口的相关操作
}
Copier après la connexion

Ensuite nous avons une donnée d'objet :

var obj = {
  a: '我',
  b: '很',
  c: '帅'
}
Copier après la connexion

Nous pouvons constater que nos données ne correspondent pas aux paramètres de l'interface , Il n'est pas possible de saisir directement obj pour appeler l'api.
Que devons-nous faire maintenant ? Nous pouvons définir une fonction d'adaptateur :

function adapter (o) {
  // 通过适配器函数来调用目的api
  api(o.a, o.b, o.c);
} 

adapter(obj);
// 我很帅
Copier après la connexion

De cette façon, via la fonction d'adaptateur adapter() nous pouvons directement passer en obj pour appeler l'api, et le problème de non-concordance entre la classe et l'api sera résolu.


Résumé

Le modèle d'adaptateur consiste à envelopper l'interface existante avec une nouvelle interface pour gérer l'inadéquation entre la classe et l'API. Les objets utilisant ce modèle sont également appelés wrappers.
Situations applicables

  1. Utilisez un objet existant, mais sa méthode ou son interface de propriété ne répond pas à nos exigences.

  2. Vous souhaitez créer un objet réutilisable pouvant fonctionner avec d'autres objets sans rapport ou invisibles

  3. Vous souhaitez Les objets utilisés existent déjà, mais l'héritage prototypique ne peut pas être appliqué à chacun pour correspondre à son interface. Un adaptateur d'objet peut adapter les méthodes d'interface ou les propriétés de son objet parent.

Différences par rapport aux autres modes

  1. Bien que les adaptateurs et les ponts soient similaires, le point de départ du pontage est différent. Le but est de séparer la partie interface de la partie implémentation afin qu'elles puissent être modifiées plus facilement et indépendamment.

  2. Le motif décorateur améliore la fonctionnalité de l'objet sans changer son interface, il offre donc une meilleure transparence au programme que l'adaptateur.

  3. Le mode proxy définit un proxy pour une autre interface sans changer son interface.

  4. Le mode façade vise à simplifier une interface et ne propose pas d'options supplémentaires.

  5. L'adaptateur convertit une interface en une autre interface, et ne filtre pas certaines capacités ni ne simplifie l'interface.

Recommandations associées :

JavaScript Design Pattern Series One : Factory Pattern

JavaScript Design Pattern Series Three : Mode constructeur

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!

Étiquettes associées:
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers numéros
c++ appelle javascript
Depuis 1970-01-01 08:00:00
0
0
0
Qu’est-ce que le garbage collection JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Que sont les fonctions de hook JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Comment obtenir la date actuelle en JavaScript ?
Depuis 1970-01-01 08:00:00
0
0
0
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal