[导入]Builder模式
2006-07-13 17:15
218 查看
OO的优点就是方便日后的变化,见效由变化所引起的系统的变化的影响,封装这种变化。但在单一简单系统中优势不明显,反而效率低。动态的看,在需求的一次次变动时才能看到设计模式的优势。一个复杂的对象由各个部分的子对象组成,各个部分经常变化,而组合在一起的算法却相对稳定。封装隔离这个复杂对象的各个变化的部分,从而保持不变的组合这些对象的算法的稳定。关闭修改,开放扩展Builder模式主要用于“分步骤构建一个复杂的对象”这其中“分步骤”是一个稳定的算法,而复杂的对象的各个部分则经常变化。变化在哪里,封装哪里-Builder模式主要在于应对"复杂对象各个部分"的频繁需求变动。难于应对"分步骤构建算法"的需求变动。
Abstract Factory模式解决“系列对象”的需求变化各个对象有耦合的关系。Builder模式解决“对象部分”的需求变化。同属一个大对象的子对象。可用.Net的动态特质,类型反射的功能消除客户程序的改变,改为动态配置config,调用新的Assembly.Assembly assembly = Assembly.Load("assemblyName");Type t = assembly.GetType("BuilderName");Builder builder = Activator.CreateInstance(t);House house = GameManager.CreateHouse(builder);.Net框架中Builder应用System.Web.UI.Page就是一个Builder其中的BuildPart有OnInit();Onload();Render();Asp.Net会自动去bin目录中调用dll.根据页面显示的稳定的算法,进行调用相应的具体方法。
类别:Programming 查看评论
文章来源:http://hi.baidu.com/hongchaol/blog/item/9f8443a963b8cffc1f17a204.html
Abstract Factory模式解决“系列对象”的需求变化各个对象有耦合的关系。Builder模式解决“对象部分”的需求变化。同属一个大对象的子对象。可用.Net的动态特质,类型反射的功能消除客户程序的改变,改为动态配置config,调用新的Assembly.Assembly assembly = Assembly.Load("assemblyName");Type t = assembly.GetType("BuilderName");Builder builder = Activator.CreateInstance(t);House house = GameManager.CreateHouse(builder);.Net框架中Builder应用System.Web.UI.Page就是一个Builder其中的BuildPart有OnInit();Onload();Render();Asp.Net会自动去bin目录中调用dll.根据页面显示的稳定的算法,进行调用相应的具体方法。
类别:Programming 查看评论
文章来源:http://hi.baidu.com/hongchaol/blog/item/9f8443a963b8cffc1f17a204.html
相关文章推荐
- [导入]设计模式adapter
- 设计模式 - 生成器 Builder
- 设计模式学习笔记(五):建造者模式【Builder Pattern】(一)问题提出
- Builder模式在Java中的应用
- builder模式
- 设计模式之建造者模式(Builder Pattern)
- Java/Android 构建者(Builder)设计模式(又叫生成器模式)
- Builder模式
- 建造者(Builder)模式
- java设计模式--Builder设计模式
- Builder设计模式原理
- 设计模式之五:BUILDER(生成器)—对象创建型模式
- 黑马程序员--高新技术--静态导入,基本数据类型拆箱与装箱,享元设计模式
- 设计模式之构造器Builder
- (十五)Core Java Eclipse的使用(快捷配置,模板代码.静态导入,自动拆装箱,享元设计模式) (112)
- 深入浅出设计模式(3)——生成器模式(Builder)
- 工厂模式和builder模式的区别
- Android View 高级框架二 Builder模式打造通用对话框
- .NET设计模式-建造者模式(Builder Pattern)
- 设计模式之Builder模式