http://www.cnblogs.com/happyhippy/archive/2010/09/01/1814287.html
使用builder模式的时候:
1.builder模式接口非常固定,不允许改变。
当有新产品创建任务的时候。首先是想着通过参数来控制产品的变化。其后,才是通过继承于builder,来控制产品的变化。
这就要求一开始就知道需求。而面向业务的复杂产品一开始就知道需求基本上是不可能,特别是对于客户级别的产品来说。因此builder模式只适合建造一些与业务相关性不大的产品。例如StringBuilder,SQLInsertBuilder,AlertDialogBuilder。这些builder的共同点是,在整个系统中的功能基本上都是定死的,不需要改变的。改变的只有组装过程和组成部分。像StringBuilder,不同的组装过程可能会产生不同的结果,而AlertDialogBuilder是不同的组成部分产生的不同结果。
2.如果说,非要使用客户级别的builder模式。那么下面的建议将是比较有用的:
2.1如果产品的构建模式变化非常多,这样容易导致builder的子类膨胀。因此考虑一个具体buider的时候,尽量满足所有的需求,不到万不得已不要建立builder的子类。
2.2.使用装饰者模式防止builder子类的膨胀。
2.3.参数化builder模式,保证builder的可扩展性。
相关推荐
Builder模式 设计模式 Builder模式
Builder模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示 统设计中,有时候面临着一个“复杂系统”的创建工作,该对象通常由各个部分的子对象用一定的算法构成,或者说按一定的...
23种设计模式之四(创建型模式)Builder模式
在设计模式中对Builder模式的定义是用于构建复杂对象的一种模式,所构建的对象往往需要多步初始化或赋值才能完成。那么,在实际的开发过程中,我们哪些地方适合用到Builder模式呢?其中使用Builder模式来替代多参数...
【Java面试题】builder模式
一个builder 设计 模式 的源码,
BUILDER模式 C++实现
demo中使用了设计模式中的建造者模式,代码非常精简,本地可正常运行,亲测有效!
NULL 博文链接:https://wy649898543.iteye.com/blog/1431751
Builder模式Demo
将一个复杂对象的构造与它的表示分离,使同样的构建 过程可以创建不同的表示,这样的设计模式被称为建造者模式。
C#设计模式之建造者(Builder)模式示例源代码
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第4节:创建型模式Builder生成器模式
builder设计模式
东北大学设计模式实验 实现单例模式,组合模式,Builder模式,装饰器模式,并使用设计模式实现赌场
用于学习android java builder模式
FreeBuilder 为 Java 1.6 自动生成 Builder 模式。 当设计类的构造函数或静态工厂具有多个参数时,Builder 模式是一个不错的选择。
软件体系结构Builder模式浅谈PPT形式
Builder模式代码-一个java类 Builder模式代码-一个java类