美文网首页
iOS设计模式-生成器模式 后记

iOS设计模式-生成器模式 后记

作者: sqatm | 来源:发表于2018-10-19 06:06 被阅读23次

UML


BUILDER UML

时序图


BUILDER Sequence Chart

BUILDER设计模式总共有三个四个成员,Director、Builder、ConcreteBuilder、Result。

1.为什么Director和Builder是Aggregation关系?

可以这么理解:
1)只有在学校和学生两者共同协作的情况下才能产出“毕业学生”。
2)学校没了学生无法存活。所以是学校聚合学生。
3)学生没了学校依然可以存活。所以学生被学校聚合。
4)学校和学生并不唯一绑定。并不是说只有小明去了太阳小学才能毕业,也不是太阳小学只能教小明一个人。不同的学生和不同的学校之间会产生不同成绩的“毕业学生”。
5)一个学校可以有多中教育方法(construct)
6)小明不仅可以在太阳小学上课,也可以去其他课外补习班上课。

2.这个模式的重点在于Builder

固定思维,领导比员工重要。但是在这个设计模式中真正要下功夫去设计的是Builder。因为无论最后返回Product,还是具体执行操作其实都是Builder在干活。

3.Director中对于Builder属性声明

Director中对于Builder的引用不一定是Strong,根据情况也有可能是Copy。
主要取决于项目需求。一般优先考虑Copy。

4.关于<Builder>

Builder不一定是protocol也可以是抽象类,这主要取决于Builder在初始化中是否有些特殊需求。

5.和STRATEGY对比

将Aggregation改为更加紧密的Composition就是了。并且因为STRATEGY是行为扩展模式,所以不需要getResult方法。
因为BUILDER中builder是对Client开放的,所以更偏向于接口开闭原则。
STRATEGY中因为Strategy是对Client不公开的,所以更加偏向于里氏替换原则。

相关文章

  • iOS设计模式之美-适配器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-抽象工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-工厂模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式之美-生成器模式

    iOS设计模式之美-工厂模式iOS设计模式之美-抽象工厂模式iOS设计模式之美-生成器模式iOS设计模式之美-适配...

  • iOS设计模式-生成器模式 后记

    UML 时序图 BUILDER设计模式总共有三个四个成员,Director、Builder、ConcreteBui...

  • 生成器模式

    生成器模式是iOS设计模式中比较简单的一种模式,也经常拿来和抽象工厂作对比。首先我们说下什么事生成器模式。该模式由...

  • iOS设计模式(3)适配器模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(4)抽象工...

  • iOS设计模式(5)策略模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(6)模板模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

  • iOS设计模式(7)建造者模式

    设计模式系列文章 《iOS设计模式(1)简单工厂模式》《iOS设计模式(2)工厂模式》《iOS设计模式(3)适配器...

网友评论

      本文标题:iOS设计模式-生成器模式 后记

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