博客园 - Tristan(GuoZhijian)
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=185419
2009-08-06T01:25:14Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
feed.cnblogs.com
https://www.cnblogs.com/guozhijian/archive/2008/04/01/1133502.html
Core Design Patterns(16) Chain of Responsibility 职责链模式 - Tristan(GuoZhijian)
多个对象构成一个链式结构,客户端向链中的某个对象发出请求,被请求的对象可以处理客户代码的请求,也可以根据业务将请求向下传递,依此类推,直到请求最终被某对象处理,或抛出异常。这就是职责链模式的应用场景。
2008-04-01T13:34:00Z
2008-04-01T13:34:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】多个对象构成一个链式结构,客户端向链中的某个对象发出请求,被请求的对象可以处理客户代码的请求,也可以根据业务将请求向下传递,依此类推,直到请求最终被某对象处理,或抛出异常。这就是职责链模式的应用场景。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/04/01/1133502.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/23/1117901.html
Core Design Patterns(15) Template Method 模版方法模式 - Tristan(GuoZhijian)
父类定义了一个模版方法,这个模版方法规定了一个算法几个步骤的执行顺序,它的子类可以更改这个算法某几个步骤的具体实现。
2008-03-23T14:44:00Z
2008-03-23T14:44:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】父类定义了一个模版方法,这个模版方法规定了一个算法几个步骤的执行顺序,它的子类可以更改这个算法某几个步骤的具体实现。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/03/23/1117901.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/20/1115286.html
Core Design Patterns(14) State 状态模式 - Tristan(GuoZhijian)
应用程序中,常常会有这样一些有状态的对象,它们可能有很多种状态,在不同状态下,对象表现出的行为截然不同。在一般情况下,我们可能会写一些状态切换的if .. else ..语句块,往往造成代码丑陋,维护困难。
这时候,可以考虑使用状态模式。
2008-03-20T12:05:00Z
2008-03-20T12:05:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】 应用程序中,常常会有这样一些有状态的对象,它们可能有很多种状态,在不同状态下,对象表现出的行为截然不同。在一般情况下,我们可能会写一些状态切换的if .. else ..语句块,往往造成代码丑陋,维护困难。
这时候,可以考虑使用状态模式。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/03/20/1115286.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/16/1108540.html
Core Design Patterns(13) Strategy 策略模式 - Tristan(GuoZhijian)
一个类的某个行为可能有多种实现策略,可以将这个行为提取出来定义为接口,那么就可以提供这个接口的多个实现。这些类(策略)可以相互替换而不影响客户端代码
2008-03-16T08:58:00Z
2008-03-16T08:58:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】一个类的某个行为可能有多种实现策略,可以将这个行为提取出来定义为接口,那么就可以提供这个接口的多个实现。这些类(策略)可以相互替换而不影响客户端代码 <a href="https://www.cnblogs.com/guozhijian/archive/2008/03/16/1108540.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/16/1108454.html
Core Design Patterns(12) Builder 建造者模式 - Tristan(GuoZhijian)
建造者模式将复杂对象的创建过程和对象的变现分离。
使得一个建造过程可以创建出具有不同变现的产品对象。
2008-03-16T07:14:00Z
2008-03-16T07:14:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】建造者模式将复杂对象的创建过程和对象的变现分离。
使得一个建造过程可以创建出具有不同变现的产品对象。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/03/16/1108454.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/16/1108041.html
Core Design Patterns(11) Abstract Factory 抽象工厂模式 - Tristan(GuoZhijian)
针对多个平行产品体系的产品创建问题,使用抽象工厂模式
2008-03-15T16:25:00Z
2008-03-15T16:25:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】针对多个平行产品体系的产品创建问题,使用抽象工厂模式 <a href="https://www.cnblogs.com/guozhijian/archive/2008/03/16/1108041.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/15/1107851.html
Core Design Patterns(10) Singleton 单例模式 - Tristan(GuoZhijian)
使用单例模式,可以控制一个类在一个应用程序中只有一个实例。
2008-03-15T12:37:00Z
2008-03-15T12:37:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】使用单例模式,可以控制一个类在一个应用程序中只有一个实例。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/03/15/1107851.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/14/1106571.html
Core Design Patterns(9) Factory Method 工厂方法模式 - Tristan(GuoZhijian)
工厂方法模式提供创建一系列属于同一产品体系的类的创建方法。并且,有别于一般的简单工厂,工厂方法模式创建产品由子类来完成。这样增加新的产品不需要修改原来的代码,只需要相应增加一个新的工厂子类。
2008-03-14T14:48:00Z
2008-03-14T14:48:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】工厂方法模式提供创建一系列属于同一产品体系的类的创建方法。并且,有别于一般的简单工厂,工厂方法模式创建产品由子类来完成。这样增加新的产品不需要修改原来的代码,只需要相应增加一个新的工厂子类。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/03/14/1106571.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/14/1106512.html
Core Design Patterns(8) Prototype 原型模式 - Tristan(GuoZhijian)
当我们需要实例化一个类的多个实例,并且实例化的代价比较昂贵的时候,可以使用原型模式。
2008-03-14T13:48:00Z
2008-03-14T13:48:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】当我们需要实例化一个类的多个实例,并且实例化的代价比较昂贵的时候,可以使用原型模式。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/03/14/1106512.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/09/1097752.html
Core Design Patterns(7) Facade 外观模式 - Tristan(GuoZhijian)
客户端代码需要与多个子系统进行交互,通常完成一个功能需要一系列复杂的请求。此时,可以提供一个外观类简化客户端代码的请求。
外观模式为子系统提供不能的访问接口,并隐藏子系统的内部实现。
2008-03-09T12:51:00Z
2008-03-09T12:51:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】客户端代码需要与多个子系统进行交互,通常完成一个功能需要一系列复杂的请求。此时,可以提供一个外观类简化客户端代码的请求。
外观模式为子系统提供不能的访问接口,并隐藏子系统的内部实现。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/03/09/1097752.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/09/1097418.html
Core Design Patterns(6) Adapter 适配器模式 - Tristan(GuoZhijian)
一个已有的组件(类库)提供的接口与当前客户系统请求的接口不一致时,使用适配器模式,将已有组件的接口转换为客户系统请求的接口。
2008-03-09T07:23:00Z
2008-03-09T07:23:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】一个已有的组件(类库)提供的接口与当前客户系统请求的接口不一致时,使用适配器模式,将已有组件的接口转换为客户系统请求的接口。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/03/09/1097418.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/08/1096536.html
Core Design Patterns(5) Flyweight 享元模式 - Tristan(GuoZhijian)
应用程序中,当需要提供某种大量细粒度对象的访问,并且对这些对象可以抽象出不可变的属性,那么可以将抽象出来的对象设计为享元,供各个客户端共享访问,以节省内存开销。
而剩下的不能共享的属性,则可以由客户端维护,并在需要的时候传入享元,传入的不能共享的属性不能影响内部的不可变属性。
2008-03-08T07:20:00Z
2008-03-08T07:20:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】应用程序中,当需要提供某种大量细粒度对象的访问,并且对这些对象可以抽象出不可变的属性,那么可以将抽象出来的对象设计为享元,供各个客户端共享访问,以节省内存开销。
而剩下的不能共享的属性,则可以由客户端维护,并在需要的时候传入享元,传入的不能共享的属性不能影响内部的不可变属性。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/03/08/1096536.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/03/07/1093116.html
Core Design Patterns(4) Composite 组合模式 - Tristan(GuoZhijian)
组合模式使得我们可以以同样的方式看待单一Comonent和Component集合。
也就是,单一对象和该对象的组合具有相同的抽象行为。
组合模式通常用于构建树型结构。
2008-03-07T14:21:00Z
2008-03-07T14:21:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】组合模式使得我们可以以同样的方式看待单一Comonent和Component集合。
也就是,单一对象和该对象的组合具有相同的抽象行为。
组合模式通常用于构建树型结构。
<a href="https://www.cnblogs.com/guozhijian/archive/2008/03/07/1093116.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/28/1084204.html
Core Design Patterns(3) Bridge 桥接模式 - Tristan(GuoZhijian)
桥接模式将抽象与实现分离
使得抽象和实现自称体系,可以独立变化
2008-02-28T11:22:00Z
2008-02-28T11:22:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】桥接模式将抽象与实现分离
使得抽象和实现自称体系,可以独立变化 <a href="https://www.cnblogs.com/guozhijian/archive/2008/02/28/1084204.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/25/1081255.html
Core Design Patterns(2) Proxy 代理模式 - Tristan(GuoZhijian)
代理模式使得我们可以通过引入一个代理对象来控制另一对象的创建及访问。
2008-02-25T12:53:00Z
2008-02-25T12:53:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】代理模式使得我们可以通过引入一个代理对象来控制另一对象的创建及访问。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/02/25/1081255.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/24/1079652.html
Core Design Patterns(1) Decorator 装饰模式 - Tristan(GuoZhijian)
当我们需要给一个已有的对象动态的附加状态或行为时,使用装饰模式。
装饰模式的要点是:装饰类实现了最初的被装饰类,并且包含了被装饰类的一个实例
2008-02-24T14:05:00Z
2008-02-24T14:05:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】当我们需要给一个已有的对象动态的附加状态或行为时,使用装饰模式。
装饰模式的要点是:装饰类实现了最初的被装饰类,并且包含了被装饰类的一个实例 <a href="https://www.cnblogs.com/guozhijian/archive/2008/02/24/1079652.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/23/1078375.html
老调重弹:插件式框架开发的一个简单应用 - Tristan(GuoZhijian)
最近要做一个应用程序检测程序,就是要检测服务器上各应用程序的运行情况,由于各应用程序的差异,很难做一个统一的探测程序,于是决定对任意一个应用程序都采用独立的一条探测规则。
为了开发、部署的方便,考虑使用插件式开发。
2008-02-22T17:56:00Z
2008-02-22T17:56:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】最近要做一个应用程序检测程序,就是要检测服务器上各应用程序的运行情况,由于各应用程序的差异,很难做一个统一的探测程序,于是决定对任意一个应用程序都采用独立的一条探测规则。
为了开发、部署的方便,考虑使用插件式开发。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/02/23/1078375.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/22/1078234.html
Behavior模型应用:可拖动的div容器 - Tristan(GuoZhijian)
应用Asp.Net Ajax behavior模型,做了一个简单的可拖动的div
2008-02-22T13:58:00Z
2008-02-22T13:58:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】应用Asp.Net Ajax behavior模型,做了一个简单的可拖动的div
<a href="https://www.cnblogs.com/guozhijian/archive/2008/02/22/1078234.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/20/1075615.html
Microsoft Asp.Net Ajax框架入门(13) PageRequestManager - Tristan(GuoZhijian)
本文介绍在异步提交过程中发挥着重大作用的客户端 PageRequestManager对象。
2008-02-20T13:21:00Z
2008-02-20T13:21:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】本文介绍在异步提交过程中发挥着重大作用的客户端 PageRequestManager对象。 <a href="https://www.cnblogs.com/guozhijian/archive/2008/02/20/1075615.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/guozhijian/archive/2008/02/17/1071469.html
Microsoft Asp.Net Ajax框架入门(12) 了解异步通信层 - Tristan(GuoZhijian)
本文通过两个简单的例子,了解Asp.Net Ajax Asynchronous Communication Layer
2008-02-17T11:19:00Z
2008-02-17T11:19:00Z
Tristan(GuoZhijian)
https://www.cnblogs.com/guozhijian/
【摘要】本文通过两个简单的例子,了解Asp.Net Ajax Asynchronous Communication Layer <a href="https://www.cnblogs.com/guozhijian/archive/2008/02/17/1071469.html" target="_blank">阅读全文</a>