初面网初面网

模板(方法)模式

两部分组成,第一部分是抽象父类,第二部分是具体的子类。

通常,在父类中封装子类的算法框架,子类则通过继承这个抽象父类,继承整个算法结构。

var Container = function(params={}){
  var F = function(){}
  F.prototype.init = async function(){  // async和await非必须,视是否需要异步添加
      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 Myclass1 = Container({
  getData(){
    console.log("获取nowplaying")
    return [1,2,3]
  }
})

new Myclass1().init()

var Myclass2 = Container({
  getData(){
    console.log("获取comming soon")
    return [4,5,6]
  }
})

new Myclass2().init()

更新于 2025/2/26