Core Design Patterns(16) Chain of Responsibility 职责链模式
摘要: 多个对象构成一个链式结构,客户端向链中的某个对象发出请求,被请求的对象可以处理客户代码的请求,也可以根据业务将请求向下传递,依此类推,直到请求最终被某对象处理,或抛出异常。这就是职责链模式的应用场景。
阅读全文
posted @
2008-04-01 21:34 Tristan(GuoZhijian) 阅读(339) |
评论 (3) 编辑
Core Design Patterns(15) Template Method 模版方法模式
摘要: 父类定义了一个模版方法,这个模版方法规定了一个算法几个步骤的执行顺序,它的子类可以更改这个算法某几个步骤的具体实现。
阅读全文
posted @
2008-03-23 22:44 Tristan(GuoZhijian) 阅读(227) |
评论 (0) 编辑
Core Design Patterns(14) State 状态模式
摘要: 应用程序中,常常会有这样一些有状态的对象,它们可能有很多种状态,在不同状态下,对象表现出的行为截然不同。在一般情况下,我们可能会写一些状态切换的if .. else ..语句块,往往造成代码丑陋,维护困难。
这时候,可以考虑使用状态模式。
阅读全文
posted @
2008-03-20 20:05 Tristan(GuoZhijian) 阅读(2476) |
评论 (8) 编辑
Core Design Patterns(13) Strategy 策略模式
摘要: 一个类的某个行为可能有多种实现策略,可以将这个行为提取出来定义为接口,那么就可以提供这个接口的多个实现。这些类(策略)可以相互替换而不影响客户端代码
阅读全文
posted @
2008-03-16 16:58 Tristan(GuoZhijian) 阅读(277) |
评论 (0) 编辑
Core Design Patterns(12) Builder 建造者模式
摘要: 建造者模式将复杂对象的创建过程和对象的变现分离。
使得一个建造过程可以创建出具有不同变现的产品对象。
阅读全文
posted @
2008-03-16 15:14 Tristan(GuoZhijian) 阅读(278) |
评论 (2) 编辑
Core Design Patterns(10) Singleton 单例模式
摘要: 使用单例模式,可以控制一个类在一个应用程序中只有一个实例。
阅读全文
posted @
2008-03-15 20:37 Tristan(GuoZhijian) 阅读(277) |
评论 (0) 编辑
Core Design Patterns(9) Factory Method 工厂方法模式
摘要: 工厂方法模式提供创建一系列属于同一产品体系的类的创建方法。并且,有别于一般的简单工厂,工厂方法模式创建产品由子类来完成。这样增加新的产品不需要修改原来的代码,只需要相应增加一个新的工厂子类。
阅读全文
posted @
2008-03-14 22:48 Tristan(GuoZhijian) 阅读(330) |
评论 (2) 编辑
Core Design Patterns(8) Prototype 原型模式
摘要: 当我们需要实例化一个类的多个实例,并且实例化的代价比较昂贵的时候,可以使用原型模式。
阅读全文
posted @
2008-03-14 21:48 Tristan(GuoZhijian) 阅读(254) |
评论 (2) 编辑
Core Design Patterns(7) Facade 外观模式
摘要: 客户端代码需要与多个子系统进行交互,通常完成一个功能需要一系列复杂的请求。此时,可以提供一个外观类简化客户端代码的请求。
外观模式为子系统提供不能的访问接口,并隐藏子系统的内部实现。
阅读全文
posted @
2008-03-09 20:51 Tristan(GuoZhijian) 阅读(273) |
评论 (0) 编辑
Core Design Patterns(6) Adapter 适配器模式
摘要: 一个已有的组件(类库)提供的接口与当前客户系统请求的接口不一致时,使用适配器模式,将已有组件的接口转换为客户系统请求的接口。
阅读全文
posted @
2008-03-09 15:23 Tristan(GuoZhijian) 阅读(218) |
评论 (1) 编辑
Core Design Patterns(5) Flyweight 享元模式
摘要: 应用程序中,当需要提供某种大量细粒度对象的访问,并且对这些对象可以抽象出不可变的属性,那么可以将抽象出来的对象设计为享元,供各个客户端共享访问,以节省内存开销。
而剩下的不能共享的属性,则可以由客户端维护,并在需要的时候传入享元,传入的不能共享的属性不能影响内部的不可变属性。
阅读全文
posted @
2008-03-08 15:20 Tristan(GuoZhijian) 阅读(213) |
评论 (0) 编辑
Core Design Patterns(4) Composite 组合模式
摘要: 组合模式使得我们可以以同样的方式看待单一Comonent和Component集合。
也就是,单一对象和该对象的组合具有相同的抽象行为。
组合模式通常用于构建树型结构。
阅读全文
posted @
2008-03-07 22:21 Tristan(GuoZhijian) 阅读(257) |
评论 (2) 编辑
Core Design Patterns(3) Bridge 桥接模式
摘要: 桥接模式将抽象与实现分离
使得抽象和实现自称体系,可以独立变化
阅读全文
posted @
2008-02-28 19:22 Tristan(GuoZhijian) 阅读(318) |
评论 (0) 编辑
Core Design Patterns(2) Proxy 代理模式
摘要: 代理模式使得我们可以通过引入一个代理对象来控制另一对象的创建及访问。
阅读全文
posted @
2008-02-25 20:53 Tristan(GuoZhijian) 阅读(265) |
评论 (0) 编辑
Core Design Patterns(1) Decorator 装饰模式
摘要: 当我们需要给一个已有的对象动态的附加状态或行为时,使用装饰模式。
装饰模式的要点是:装饰类实现了最初的被装饰类,并且包含了被装饰类的一个实例
阅读全文
posted @
2008-02-24 22:05 Tristan(GuoZhijian) 阅读(288) |
评论 (1) 编辑