搜索
写经验 领红包

js中的设计模式有多少种(javascipt设计的初衷和特点)

导语:几种常用的 JavaScript 设计模式及其实现方法

js中的设计模式有多少种(javascript设计的初衷和特点)

JavaScript 作为一门灵活性很高的语言,可以用多种方式实现不同的设计模式。下面介绍几种常用的 JavaScript 设计模式及其实现方法。

1、单例模式

单例模式指的是在整个应用程序中,只有一个实例对象。实现单例模式的方法很多,下面是其中的一种:

const Singleton = (function() {  let instance;  function createInstance() {    const object = new Object({ name: &39; });    return object;  }  return {    getInstance: function() {      if (!instance) {        instance = createInstance();      }      return instance;    }  };})();const instance1 = Singleton.getInstance();const instance2 = Singleton.getInstance();console.log(instance1 === instance2); // true

2、工厂模式

工厂模式指的是根据不同的参数创建不同的实例。下面是一个简单的工厂模式实现:

class Dog {  constructor(name) {    this.name = name;  }  bark() {    console.log(&39;);  }}class Cat {  constructor(name) {    this.name = name;  }  meow() {    console.log(&39;);  }}class AnimalFactory {  static createAnimal(type, name) {    if (type === &39;) {      return new Dog(name);    } else if (type === &39;) {      return new Cat(name);    }  }}const myDog = AnimalFactory.createAnimal(&39;, &39;);const myCat = AnimalFactory.createAnimal(&39;, &39;);myDog.bark();myCat.meow();

3、观察者模式

观察者模式指的是对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都会收到通知并自动更新。下面是一个简单的观察者模式实现:

class Subject {  constructor() {    this.observers = [];  }  addObserver(observer) {    this.observers.push(observer);  }  removeObserver(observer) {    const index = this.observers.indexOf(observer);    if (index > -1) {      this.observers.splice(index, 1);    }  }  notifyObservers() {    for (let observer of this.observers) {      observer.update();    }  }}class Observer {  constructor(subject) {    this.subject = subject;    this.subject.addObserver(this);  }  update() {    console.log(&39;);  }}const mySubject = new Subject();const myObserver = new Observer(mySubject);mySubject.notifyObservers(); // 输出:观察者收到通知!

以上是三种常用的 JavaScript 设计模式及其实现方法,当然还有很多其他的设计模式,可以根据实际需求选择适合的设计模式进行实现。

本文内容由小婷整理编辑!