11 2008 档案

摘要: 责任链模式很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在链上传递发出请求的客户并不知道这个链上的哪一个对象最终处理了这个请求,这使得系统可以在不影响客户端的情况下重新组织链上的责任分配。 阅读全文
posted @ 2008-11-11 16:56 游侠_1 阅读(39) | 评论 (1) 编辑
摘要: 目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构则可以保持不变。 问题提出System.Collection命名空间下提供了大量集合操作对象。但大多数情况下处理的都是同类对象的聚集。换言之,在聚集上采取的操作都是一些针对同类型对象的同类操作。但是如果针对一个保存有不同类型对象的聚集采取某种操作该怎么办呢? 粗看上去,这似乎不是什么难题。可是如果需要针对一个包含不同类型元素的聚集采取某种操作,而操作的细节根据元素的类型不同而有所不同时,就会出现必须对元素类型做类型判断的条件转移语句。这个时候,使用访问者模式就是一个值得考虑的解决方案。 阅读全文
posted @ 2008-11-10 17:34 游侠_1 阅读(16) | 评论 (0) 编辑
摘要: 状态模式把研究对象的行为包装在不同的状态对象里,每一个状态对象都属于一个抽象状态类的子类。 状态模式的意图是让一个对象在其内部状态发生变化的时候其行为也随之改变阅读全文
posted @ 2008-11-07 14:49 游侠_1 阅读(27) | 评论 (0) 编辑
摘要: 搞了四个小时终于搞定了阅读全文
posted @ 2008-11-06 17:52 游侠_1 阅读(49) | 评论 (0) 编辑
摘要: 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 阅读全文
posted @ 2008-11-05 15:49 游侠_1 阅读(16) | 评论 (0) 编辑
摘要: 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。阅读全文
posted @ 2008-11-04 16:18 游侠_1 阅读(18) | 评论 (0) 编辑