先简单记一下,以后再来认真写
还是造房子那个例子,一个房子分为①打地基 ② 砌墙 ③封顶三步,如果不用设计模式去写的话。就是一个超类,然后多个子类继承超类去重写
但是这样有两个缺点:
(1)产品和建造的过程是高度耦合的(针对这个问题,单独定义product类,以组合的方式放在Builder超类的成员变量中)
(2) 客户端(main方法)调用的时候,必须了解建房的步骤,要了解应该先打地基,再。。(针对这个问题,出现了Director,指挥者知道建房子的步骤就行了,客户端调用的时候,直接new一个指挥者,客户端啥都不用知道)