单利设计模式、构造原型设计模式、发布订阅设计模式、promise设计模式
单利模式
let model = (function() {
let fn = function() {
// .....
}
return {
init: function() {
fn()
},
fn: fn,
}
})();
model.init();
构造原型设计模式
最贴近OOP面向对象编程思想的
不管是封装类库还是插件或者UI组件,都是基于构造原型模式开发的。
class Person {
constructor(...arg){
// 私有属性或者方法
let [x = 0, y = 1] = arg
this.x = x
this.y = y
}
// 公有属性方法
say() {
console.log(this.name)
}
}
let p1 = new Person();
// 继承Person类
class Child extends Person {
constructor(x,y,z){
super(x,y,z);
this.z = z
}
fn(){
this.say()
}
}
let c1 = new Child(100,200,300)
发布订阅设计模式:观察者模式
不同于单利和构造,发布订阅是小型设计模式。应用到某一个具体的需求中:凡是达到某个条件之后要执行N多方法,我们都可以依托于发布订阅模式管理和规划我们的js代码
实现思路:
1、创建一个计划表(容器)
2、后期要做什么事情一次吧需要的处理事情增加到计划表中
3、当符合某个条件时,通知计划表按照顺序执行
promise设计模式
解决ajax异步请求层级嵌套问题