初面网初面网

建造者模式

将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。

该模式注重于一步一步创建一个复杂的对象,允许用户只通过指定复杂的对象的类型和内容就可以构建它们,用户不需要指定内部的具体构造细节。

所以可以看出,

工厂模式关心结果

建造者模式关心过程

小例子

导航栏,或者分类栏,其中的内容可能会频繁变化。

class NavBar{
  init(){
    console.log("navbar-init")
  }

  getData(){
    console.log("navbar-getData")
  }

  render(){
    console.log("navbar-render")
  }
}

class List{
  init(){
    console.log("List-init")
  }

  getData(){
    console.log("List-getData")
  }

  render(){
    console.log("List-render")
  }
}

class Builder{
  startBuild(builder){
    builder.init()
    builder.getData()
    builder.render()
  }
}

const op = new Builder()
op.startBuild(new Navbar())
op.startBuild(new List())

更新于 2025/2/26