Maison > interface Web > js tutoriel > le corps du texte

Modèles avaScript que tout développeur devrait connaître en 4

Linda Hamilton
Libérer: 2024-10-11 12:35:29
original
728 Les gens l'ont consulté

JavaScript est devenu l'un des langages les plus puissants, ce qui entraîne la nécessité d'adopter les meilleures pratiques pour écrire du code propre, évolutif et maintenable. Une façon d’y parvenir consiste à comprendre et à utiliser des modèles de conception. Voici cinq modèles de conception JavaScript clés qui peuvent améliorer votre base de code en 2024.

1. Modèle de module
Le modèle Module est utilisé pour créer une encapsulation publique et privée, en gardant certaines parties de votre code cachées et d'autres accessibles. C'est parfait pour structurer votre code et éviter la pollution mondiale des espaces de noms.

Exemple :

const myModule = (function() {
  const privateVariable = 'secret';
  return {
    publicMethod() {
      return `Accessed: ${privateVariable}`;
    }
  };
})();
console.log(myModule.publicMethod());  // Accessed: secret
Copier après la connexion

2. Modèle Singleton
Le Singleton garantit qu’une classe n’a qu’une seule instance et lui fournit un point d’accès global. Ceci est utile pour gérer l'état partagé, comme les configurations ou les mécanismes de journalisation.

Exemple :

class Singleton {
  constructor() {
    if (!Singleton.instance) {
      Singleton.instance = this;
    }
    return Singleton.instance;
  }
}
const instance1 = new Singleton();
const instance2 = new Singleton();
console.log(instance1 === instance2);  // true
Copier après la connexion

3. Modèle d'observateur
Dans le modèle Observateur, un objet (le sujet) gère une liste d'observateurs qui sont informés des changements. Il est souvent utilisé pour les mécanismes de gestion d'événements.

Exemple :

class Subject {
  constructor() {
    this.observers = [];
  }
  addObserver(observer) {
    this.observers.push(observer);
  }
  notify(message) {
    this.observers.forEach(observer => observer.update(message));
  }
}
class Observer {
  update(message) {
    console.log(`Received: ${message}`);
  }
}
const subject = new Subject();
const observer1 = new Observer();
subject.addObserver(observer1);
subject.notify('Hello, Observer!');  // Received: Hello, Observer!
Copier après la connexion

4. Modèle d'usine
Le modèle Factory est utilisé pour créer des objets sans spécifier la classe exacte. C'est idéal lorsque l'on souhaite centraliser la création d'objets et modifier facilement ce qui est créé.

Exemple :

class Car {
  constructor(type) {
    this.type = type;
  }
}
class CarFactory {
  createCar(type) {
    return new Car(type);
  }
}
const factory = new CarFactory();
const myCar = factory.createCar('SUV');
console.log(myCar.type);  // SUV
Copier après la connexion

5. Patron Décorateur
Le modèle Decorator permet d'ajouter un comportement à un objet individuel sans affecter le comportement des autres objets de la même classe. C'est idéal pour ajouter des fonctionnalités dynamiques aux objets.

Exemple :

class Car {
  drive() {
    return 'Driving...';
  }
}
function sportsCar(car) {
  car.speed = () => 'Driving fast!';
  return car;
}
const myCar = new Car();
const fastCar = sportsCar(myCar);
console.log(fastCar.drive());  // Driving...
console.log(fastCar.speed());  // Driving fast!
Copier après la connexion

Conclusion
En incorporant ces modèles de conception, vous rendrez votre code JavaScript plus maintenable et évolutif pour les projets futurs. Chaque modèle a ses atouts et peut améliorer votre flux de travail en 2024. Que vous construisiez quelque chose de simple ou de complexe, ces modèles amélioreront la structure et la lisibilité de votre code.


Merci d'avoir lu ! Veuillez laisser un commentaire et faites-moi part de vos réflexions ou s'il existe un autre modèle de conception que vous trouvez utile dans vos projets. J'aimerais entendre vos commentaires !??
Visitez mon site Web :https://shafayet.zya.me


Un mème pour vous ?

avaScript Patterns Every Developer Should Know in 4

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!

source:dev.to
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 articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!