设计模式创建型创建者模式

编程

一、创建者模式的四个角色

  • Product(产品):一个具体的产品对象;
  • Builder(抽象创建者):创建一个Product对象的各个部件的制定接口/抽象类;
  • ConcreteBuilder(具体创建者):实现接口,构建和装配各个部件;
  • Director(指挥者):构建一个使用Builder接口的对象,他主要用于构建一个复杂的对象,它主要有两个作用,一是:隔离了客户和对象的生产过程,二是:负责控制产品对象的生产过程。

二、创建者模式的注意事项和细节

  • 客户端不必知道产品内部的细节,将产品本身和产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象;
  • 每一个具体的创建者都相对独立,而与其他具体创建者无关,因此可以很方便替换具体创建者或增加新的具体创建者,用户使用不同的产品创建者,即可得到不同的产品对象;
  • 可以更加精细地控制产品的创建过程,将复杂的创建步骤分解在不同的方法中(Dirctor),使得创建过程更加清晰,也方便使用程序来创建过程;
  • 增加具体新的创建者,无须修改原类库的代码,指挥者类根据创建者类编程,系统扩展方便,符合"开闭原则";
  • 创建者模式所创建的产品一般具有较多的共同点,其组成部分相似,如果产品之间的差异性很大,则不适合使用创建者模式,因为其使用范围受到一定的限制;
  • 如果产品内部变化复杂,可能导致需要很多创建者类才能实现这种变化,导致系统变得庞大,因此这种情况下要考虑是否使用建造者模式

三、抽象工厂VS创建者模式

  • 抽象工厂实现对产品家族的创建,一个产品家族是这样的一系列产品,具有不同维度的产品组合,采用抽象工厂模式,不需要关心构建过程,只关心什么产品由什么工厂生产即可。

  • 而创建者则是按照制定的蓝图构建产品,它的主要目的是为了组装部件,构造一个新的产品。

四、建造者例子

指挥者固定指挥(固定步骤指挥具体创建者)进行工作,生产出一个固定的产品。

以上是 设计模式创建型创建者模式 的全部内容, 来源链接: utcz.com/z/512036.html

回到顶部