javascript - 设计模式

1. 工厂模式

所谓工厂模式就是像工厂一样重复的产生类似的产品,工厂模式只需要我们传入正确的参数,就能生产类似的产品; 我们常用的就是class构造器一样。每次用导类的时候,就产生一个新的实例。 当然在实际应用中还有很多,比如我们经常写的utils
//工厂模式示例
function User(name, age, career, work) {
    this.name = name;
    this.age = age;
    this.career = career;
    this.work = work;
}

2. 单例模式

  • 保证一个类仅有一个实例,并提供一个访问它的全局访问点,这样的模式就叫做单例模式
  • 唯一数据源 (SSOT)

这个我经常使用,比如在在写防止函数防抖中。

class SingleSong {
    show() { }
    static getInstance() {
        if(!SingleSong.instance) {
            SingleSong.instance = new SingleSong();
        }
        return SingleSong.instance;
    }
}

 // 也可以用必包 
   const Modal = (function() {
        let modal = null
        return function() {
            if(!modal) {
                modal = document.createElement('div')
                modal.innerHTML = '您还未登录哦~'
                modal.id = 'modal'
                modal.style.display = 'none'
                document.body.appendChild(modal)
            }
            return modal
        }
    })()
    
    const modal = new Modal()

你可能感兴趣的:(javascript - 设计模式)