
2008年2月28日
摘要: 多个对象构成一个链式结构,客户端向链中的某个对象发出请求,被请求的对象可以处理客户代码的请求,也可以根据业务将请求向下传递,依此类推,直到请求最终被某对象处理,或抛出异常。这就是职责链模式的应用场景。
阅读全文
posted @
2008-04-01 21:34 Tristan(GuoZhijian) 阅读(164) |
评论 (3) |
编辑
摘要: 父类定义了一个模版方法,这个模版方法规定了一个算法几个步骤的执行顺序,它的子类可以更改这个算法某几个步骤的具体实现。
阅读全文
posted @
2008-03-23 22:44 Tristan(GuoZhijian) 阅读(148) |
评论 (0) |
编辑
摘要: 应用程序中,常常会有这样一些有状态的对象,它们可能有很多种状态,在不同状态下,对象表现出的行为截然不同。在一般情况下,我们可能会写一些状态切换的if .. else ..语句块,往往造成代码丑陋,维护困难。
这时候,可以考虑使用状态模式。
阅读全文
posted @
2008-03-20 20:05 Tristan(GuoZhijian) 阅读(2237) |
评论 (8) |
编辑
摘要: 一个类的某个行为可能有多种实现策略,可以将这个行为提取出来定义为接口,那么就可以提供这个接口的多个实现。这些类(策略)可以相互替换而不影响客户端代码
阅读全文
posted @
2008-03-16 16:58 Tristan(GuoZhijian) 阅读(184) |
评论 (0) |
编辑
摘要: 建造者模式将复杂对象的创建过程和对象的变现分离。
使得一个建造过程可以创建出具有不同变现的产品对象。
阅读全文
posted @
2008-03-16 15:14 Tristan(GuoZhijian) 阅读(179) |
评论 (2) |
编辑
摘要: 针对多个平行产品体系的产品创建问题,使用抽象工厂模式
阅读全文
posted @
2008-03-16 00:25 Tristan(GuoZhijian) 阅读(1720) |
评论 (4) |
编辑
摘要: 使用单例模式,可以控制一个类在一个应用程序中只有一个实例。
阅读全文
posted @
2008-03-15 20:37 Tristan(GuoZhijian) 阅读(199) |
评论 (0) |
编辑
摘要: 工厂方法模式提供创建一系列属于同一产品体系的类的创建方法。并且,有别于一般的简单工厂,工厂方法模式创建产品由子类来完成。这样增加新的产品不需要修改原来的代码,只需要相应增加一个新的工厂子类。
阅读全文
posted @
2008-03-14 22:48 Tristan(GuoZhijian) 阅读(239) |
评论 (3) |
编辑
摘要: 当我们需要实例化一个类的多个实例,并且实例化的代价比较昂贵的时候,可以使用原型模式。
阅读全文
posted @
2008-03-14 21:48 Tristan(GuoZhijian) 阅读(192) |
评论 (2) |
编辑
摘要: 客户端代码需要与多个子系统进行交互,通常完成一个功能需要一系列复杂的请求。此时,可以提供一个外观类简化客户端代码的请求。
外观模式为子系统提供不能的访问接口,并隐藏子系统的内部实现。
阅读全文
posted @
2008-03-09 20:51 Tristan(GuoZhijian) 阅读(196) |
评论 (0) |
编辑
摘要: 一个已有的组件(类库)提供的接口与当前客户系统请求的接口不一致时,使用适配器模式,将已有组件的接口转换为客户系统请求的接口。
阅读全文
posted @
2008-03-09 15:23 Tristan(GuoZhijian) 阅读(151) |
评论 (0) |
编辑
摘要: 应用程序中,当需要提供某种大量细粒度对象的访问,并且对这些对象可以抽象出不可变的属性,那么可以将抽象出来的对象设计为享元,供各个客户端共享访问,以节省内存开销。
而剩下的不能共享的属性,则可以由客户端维护,并在需要的时候传入享元,传入的不能共享的属性不能影响内部的不可变属性。
阅读全文
posted @
2008-03-08 15:20 Tristan(GuoZhijian) 阅读(156) |
评论 (0) |
编辑
摘要: 组合模式使得我们可以以同样的方式看待单一Comonent和Component集合。
也就是,单一对象和该对象的组合具有相同的抽象行为。
组合模式通常用于构建树型结构。
阅读全文
posted @
2008-03-07 22:21 Tristan(GuoZhijian) 阅读(174) |
评论 (2) |
编辑
摘要: 桥接模式将抽象与实现分离
使得抽象和实现自称体系,可以独立变化
阅读全文
posted @
2008-02-28 19:22 Tristan(GuoZhijian) 阅读(225) |
评论 (0) |
编辑