使用场景:1、相同的方法,不同的执行顺序,产生不同的事件结果。2、多个部件或零件都可以装配到一个对象中,但是产生的运行结果不一样。3、复杂的对象。public class Product{ } public abstract class Builder{ public abstract vo...
分类:
其他好文 时间:
2015-10-08 19:57:15
阅读次数:
166
1、使用场景:如果你需要将一个复杂对象的构建与他的表示分离,使得相同的构建过程可以创建不同的表示的意图时,我们需要你应用一个设计模式,‘建造者模式’,又叫生成器模式。建造者模式可以将一个产品的内部表象与产品的生成过程分隔开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。如果我们用了建造者...
分类:
其他好文 时间:
2015-07-07 09:22:18
阅读次数:
129
4、引入钩子方法的建造者模式
建造者模式除了逐步构建一个复杂产品对象外,还可以通过Director类来更加精细地控制产品的创建过程,例如增加一类称之为钩子方法(HookMethod)的特殊方法来控制是否对某个buildPartX()的调用,也就是判断产品中某个部件是否需要被建造。钩子方法的返回类型通常为boolean类型,方法名一般为isXXX(),钩子方法定义在抽象建造者类中。...
分类:
编程语言 时间:
2014-08-20 01:26:55
阅读次数:
171
3、省略指挥者Director的建造者模式
指挥者类Director在建造者模式中扮演非常重要的作用,简单的Director类用于指导具体建造者如何构建产品,它按一定次序调用Builder的buildPartX()方法,控制调用的先后次序,并向客户端返回一个完整的产品对象。Direcotr针对抽象的建造者进行编程,如果需要不同的建造者,只需把建造者传入指挥者类,无需修改之前的代码。
...
分类:
编程语言 时间:
2014-08-20 00:06:15
阅读次数:
190