您的位置:首页 > 产品设计 > UI/UE

[导入]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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: