0%

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

##建造者模式(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