js 设计模式的理解

1.单例模式

 只生成一个对象,不生成多余的对象。

2.适配器模式

 是对已有的方法进行额外的封装

典型事例 vue computed

3.装饰器

@  core-decorators 第三方库,对已有的类和函数进行装饰。

4.代理模式

通过代理对象访问原始对象,原生对象不暴露出来。

5.观察者模式

class Subject {
                constructor() {
                    this.state = 0;
                    this.observers = []
                }
                getState(){
                    return this.state;
                }
                setState(state){
                
                    this.state = state;
                    this.notifyAllOberver()
                }
                notifyAllOberver(){
                    this.observers.forEach(observer=>{
                        observer.update()
                    })
                }
                attch(oberser){
                    this.observers.push(oberser)
                }
            }
            class Observer{
                constructor(name,subject) {
                    this.name = name;
                    this.subject = subject;
                    this.subject.attch(this)
                }
                update(){
                    console.log(`${this.name} updata,state ${this.subject.state}`)
                }
            }
            let s = new Subject();
            let o1 = new Observer("o1",s)
            s.setState("22")

6.

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值