- 模板方法模式由两部分组成,第一部分是抽象父类,第二部分是具体的实现子类。通常在抽象父类中封装了子类的算法逻辑,包括实现一些公共方法以及封装子类中所有方法的执行顺序。子类通过继承这个抽象类,也继承了整个算法结构,并且可以选择重写父类的方法。
var Container = function (params = {}) {
var F = function () {}
F.prototype.init = async function () {
var list = await this.getData()
this.render(list)
}
F.prototype.getData =
params.getData ||
function () {
throw new Error('必须传入getData')
}
F.prototype.render = function (list) {
console.log('render', list)
}
return F
}
var Myclass = Container({
getData() {
console.log('获取nowplaying')
return [1, 2, 3]
},
})
new Myclass().init()
小于 1 分钟