美文网首页
04-建造者模式

04-建造者模式

作者: 刘小刀tina | 来源:发表于2020-02-16 12:14 被阅读0次

    建造者模式:

    1)客户端不必知道产品内部的组成细节,将产品本身于产品的创建过程解耦,使得相同的创建过程可以创建不同的产品对象
    2)用户者使用不同的具体建造者即可以得到不同的产品对象
    3)可以更加精细地控制产品的创建过程
    4)增加新的具体建造者无须修改原有类库的代码,指挥者类针对抽象建造者类编程,系统扩展方便,符合"开闭原则"。

    四个角色:

    Product产品角色:一个具体的产品对象
    Builder 抽象建造者: 创建一个product对象的各个部件指定的接口/抽象类
    ConcreteBuilder具体建造者 实现接口 构建和装配各个部件
    Director 指挥者 构架一个使用Builder接口的对象,一是隔离了客户与对象的生成过程,二是负责控制产品对象的生产过程。

    jdk源码中的建造者模式角色分析:

    StringBuilder即充当了指挥者角色,同时充当了具体的建造者,建造方法的实现是由AbsractStringBuilder完成,而StringBuilder继承了AbstractStringBuilder.

    ps 建造者模式与抽象工厂模式的区别:

    抽象工厂模式不关系构建的过程,只关系什么产品 由射门工厂生产;
    建造者模式关系具体的构建过程,主要是通过组装零件产生一个新的产品。

    相关文章

      网友评论

          本文标题:04-建造者模式

          本文链接:https://www.haomeiwen.com/subject/kbwithtx.html