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.