建造者模式( Builder Pattern)

文档地址:《设计模式之禅》​​​​​​​

 切入故事:变化是永恒的

 定义: Separate the construction of a complex object from its representation so that the sameconstruction process can create different representations.(将一个复杂对象的构建与它的表示分离, 使得同样的构建过程可以创建不同的表示。)

通用类图:

        

        ● Product产品类

                通常是实现了模板方法模式, 也就是有模板方法和基本方法。 

        ● Builder抽象建造者

                规范产品的组建, 一般是由子类实现。

        ● ConcreteBuilder具体建造者

                实现抽象类定义的所有方法, 并且返回一个组建好的对象。 

        ● Director导演类

                负责安排已有模块的顺序, 然后告诉Builder开始建造

优点:

        1: 封装性

        2: 建造者独立, 容易扩展

        3: 便于控制细节风险

使用场景:

        1: 相同的方法, 不同的执行顺序, 产生不同的事件结果

        2: 多个部件或零件, 都可以装配到一个对象中, 但是产生的运行结果又不相同

        3: 产品类非常复杂, 或者产品类中的调用顺序不同产生了不同的效能

        4: 在对象创建过程中会使用到系统中的一些其他对象, 这些对象在产品对象的创建过程中不易得到

总结:

         建造者模式和工厂模式的区别:建造者模式关注的是产品组成部分的创建过程(细节), 工厂方法则重点关注是创建产品整体(整体)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值