Un bref guide des modèles de conception en JavaScript

Cet article vous aidera avec une approche détaillée des modèles de conception en JavaScript de manière simplifiée pour une meilleure compréhension.

sont les solutions avancées orientées objet aux problèmes logiciels récurrents. Les modèles sont les conceptions réutilisables et les interactions d'objets. Chaque modèle a un nom et fait partie d'un vocabulaire lors de la discussion de solutions de conception complexes.



Que sont les modèles de conception en JavaScript?

peut être défini comme un modèle de logiciel ou une description pour résoudre un problème qui se produit dans plusieurs instances lors de la conception d'une application logicielle ou d'un framework logiciel.



Modèles de conception de constructeur

Maintenant, parlons du Gang of Four (GoF)



Gang des quatre

La 23 Gang of Four (GoF) les modèles sont généralement considérés comme le fondement de tous les autres modèles.

Le gang des quatre (GoF) des modèles de conception:



Éléments d'un logiciel orienté objet réutilisable, série Addison-Wesley Professional Computing, par Erich Gamma, Richard Helm, Ralph Jhonson, et John Vlissides. TCes 23 modèles du GoF sont généralement considérés comme le fondement de tous les autres modèles.Ils sont classés en trois groupes: Créatif, structurel et comportemental.

Types de modèles de conception

Il existe essentiellement trois types différents de modèles de conception en JavaScript. Ils sont les suivants:

Modèles créatifs

Usine abstraite: Cela crée une instance avec plusieurs familles de classes. Cela fournit une interface pour créer des familles qui sont des objets liés ou dépendants sans aucune spécification de leurs classes concrètes.

Constructeur: Cette construction d'objet a séparé de sa représentation. Sépare également la construction d'un objet complexe de sa représentation afin que le même processus de construction puisse être créé avec différentes représentations.

Méthode d'usine: Cela crée une instance pour plusieurs classes dérivées. Définit également une interface pour créer un objet, mais cela laisse la sous-classe décider quelle classe instancier. Cela a également une méthode d'usine qui permet à une classe de différer l'instanciation aux sous-classes.

Prototype: Il s'agit d'une instance entièrement initialisée qui peut être copiée ou clonée. Plus précisément, le type d'objets à créer à l'aide d'une instance prototypique, crée de nouveaux objets en copiant ce prototype.

Singleton: Il s'agit d'instances entièrement initialisées à copier ou à cloner.Il s'agit d'un type d'objets spécifique à créer à l'aide d'une instance prototypique et à créer de nouveaux objets en copiant ce prototype.

Modèles structurels

Adaptateur: Il correspond aux interfaces des différentes classes. Convertit également l'interface d'une classe en une autre interface à l'exception de celle ayant le client. L'adaptateur permet également aux classes de travailler ensemble, ce qui n'aurait pas pu être autrement en raison des interfaces d'incompatibilité.

Pont: Il sépare l’interface d’un objet de son implémentation. Découpler un résumé de sa mise en œuvre afin que les deux puissent varier indépendamment.

Composite: Une structure arborescente est constituée d'objets simples et composites, composés d'objets en structures arborescentes pour représenter des hiérarchies partielles. Composite permet aux clients de traiter des objets individuels et des compositions d'objets de manière uniforme.

Décorateur: Ajoute dynamiquement les responsabilités aux objets. Attache les responsabilités supplémentaires à un objet de manière dynamique. Les décorateurs offrent également une alternative flexible au sous-classement pour étendre les fonctionnalités.

Façade: Une classe unique qui représente un sous-système entier et fournit une interface unifie à un ensemble d'interfaces dans un système. Façade définit une interface de niveau supérieur qui facilite l'utilisation du sous-système.

Poids mouche: Une instance à granularité fine utilisée pour un partage efficace afin de prendre en charge efficacement un grand nombre d'objets à granularité fine. Un poids mouche est un objet partagé qui peut être utilisé simultanément dans plusieurs nombres de contextes.Le poids-mouche agit également comme un objet indépendant dans chaque contexte - il est impossible de le distinguer d’une instance des objets qui ne sont pas partagés.

Procuration: C'est un objet représentant un autre objet. Il fournit un objet de substitution ou d'espace réservé pour contrôler l'accès à celui-ci.

Modèles de comportement:

Chaîne de responsabilité: C'est une manière de passer une requête entre une chaîne d'objets. Il évite le couplage avec l'expéditeur et envoie une requête à son destinataire en donnant à plus d'un objet une chance de traiter la requête. Les objets récepteurs sont enchaînés et transmis la demande le long de la chaîne jusqu'à ce qu'un objet la gère.

Commander: Il encapsule une demande de commande en tant qu'objet. Requête encapsulée en tant qu'objet, vous permettant ainsi de paramétrer les clients avec différentes requêtes, requêtes de file d'attente ou de journal, et prendre en charge les opérations annulables.

Interprète: C'est une manière d'inclure des éléments de langage dans un programme. Étant donné une langue, définissez une représentation de sa grammaire avec un interprète qui utilise la représentation pour interpréter des phrases dans la langue.

Itérateur: L'accès séquentiel aux éléments d'une collection fournit un moyen d'accéder aux éléments d'un objet agrégé séquentiellement sans exposer sa représentation sous-jacente.

Médiateur: Il définit simplifie la communication entre les classes. Définissez un objet qui encapsule la manière dont un ensemble d'objets interagit. Médiateur favorise le couplage lâche en empêchant les objets de se référer explicitement les uns aux autres, et il vous permet de faire varier leur interaction indépendamment.

Mémento: Il capture et restaure l’état interne de l’objet. Il ne viole pas l’encapsulation, ne capture et ne externalise pas l’état interne d’un objet afin que l’objet puisse être restauré dans cet état ultérieurement.

Observateur: C'est une manière de notifier le changement à un certain nombre de classes. Il définit une dépendance un-à-plusieurs entre les objets de sorte que lorsqu'un objet change d'état, toutes ses dépendances sont notifiées et mises à jour automatiquement.

Etat: Il modifie le comportement d'un objet lorsque son état change. Permet à un objet de modifier son comportement lors d'un changement d'état interne. L'objet semblera changer de classe.

Stratégie: Il encapsule un algorithme à l'intérieur d'une classe et définit un algorithme de famille, encapsule chacun d'eux, puis les rend interchangeables. La stratégie permet à l'algorithme de varier indépendamment des clients qui l'utilisent.

Modèle: Reportez les étapes exactes d'un algorithme à une sous-classe. Il définit le squelette d'un algorithme dans une opération, en reportant certaines étapes importantes aux sous-classes. La méthode Template nous permet de créer une sous-classe en redéfinissant certaines étapes d'un algorithme sans changer la structure de l'algorithme.

Visiteur: Il définit une nouvelle opération sur une classe sans changement. Représente une opération à effectuer sur les éléments d'une structure d'objet. Visiteur vous permet de définir une nouvelle opération sans changer les classes des éléments sur lesquels il opère.

Avec cela, nous arrivons à la fin de cet article. J'espère que vous avez compris les Design Patterns en JavaScript, leurs types, leur importance et leur implémentation.

comment définir le chemin de classe dans Windows

Maintenant que vous avez compris les bases des Design Patterns en JavaScript, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Le cours de formation et de certification Java J2EE et SOA d'Edureka est conçu pour les étudiants et les professionnels qui souhaitent devenir développeur Java. Le cours est conçu pour vous donner une longueur d'avance dans la programmation Java et vous former aux concepts Java de base et avancés ainsi qu'à divers frameworks Java tels que Hibernate et Printemps .

Vous avez une question pour nous? Mentionnez-le dans la section commentaires de ce blog «Design Patterns in JavaScript» et nous vous répondrons dans les plus brefs délais.