设计模式笔记(六):创建型-建造者模式

建造者模式(builder pattern)

意图

将一个复杂构建与其标识相分离,使得同样构建过程构建出不一样的标识

主要解决

在创建复杂对象过程中,通常是各个部分子对象用一定算法构建而成;由于需求变化,这个复杂对象各个部分经常面临剧烈变化,但是组合他们成为一个复杂算法是相对稳定的。

何时使用

基本部件不变,但是组合经常变化(组合对象不定,算法固定)

如何解决

变化部分和不变部分分离

关键代码

1:建造者:创建和提供实例
2:导演:管理建造出来的实例依赖关系

实例

肯德基,有汉堡、可乐、薯条等是不变对象,但是其中他们组合是经常变化的

优点

1:建造者独立,容易扩展
2:便于细节风险控制

缺点

1:产品必须有共通点,因此限制范围
2:内部变化复杂的化会出现很多建造类

使用场景

1:需要生成复杂对象有复杂的内部结构
2:需要生成对象内部属性相互依赖

注意事项

建造者模式更加关注零件装配的顺序
而工厂模式关注的是产品结果

个人总结:在组合复杂对象的时候 可以采用建造者模式 这样只需要在构建类中区定义生成对象的依赖就可以了

代码地址:https://github.com/xuxianyu/myGitHub/tree/master/DisignPattern/src/main/java/com/xxx/create/builder

你可能感兴趣的:(设计模式笔记(六):创建型-建造者模式)