06 2010 档案
设计模式学习之路——Builder 生成器模式
摘要:生成器模式有点类似于抽象工厂模式,两者都返回由许多方法和对象组成的类。它们之间的主要差别是,抽象工厂返回的是一系列相关的类,而生成器是根据提供给它的数据一步一步地构建一个复杂的对象。 动机:在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法却相... 阅读全文
posted @ 2010-06-19 19:20 Melou 阅读(428) 评论(0) 推荐(0) 编辑
设计模式学习之路——Observer 观察者模式
摘要:观察者模式的效果 Observer促进了目标的抽象耦合,目标不知道任何一个观察者的详细内容。但这也具有潜在的缺点:当目标中的数据发生了一系列的递增变化时,要持续或反复地更新观察者。如果更新的代价很高,就有必要引进某种管理更改的策略,这样就不会多次或频繁地通知观察者。 当一个客户(观察者)对底层数据做了修改,你要决定由哪一个对象去触发送给其他观察者的更新通知。如果是由目标在它被更改后去通知所有的观... 阅读全文
posted @ 2010-06-17 18:30 Melou 阅读(626) 评论(1) 推荐(0) 编辑
设计模式学习之路——Chain Of Responsibility 职责链模式
摘要:请求的发送者和接受者可能存在如下关系,某些对象的请求的接受者可能多种多样,变化无常,职责链(Chain Of Responsibility)模式允许多个类处理同一个请求,而不需要了解彼此的功能。它在类之间提供了一种松散的耦合:类之间唯一的联系就是相互传递的请求。请求在类之间传递,直到其中一个类处理它为止。 动机:在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如... 阅读全文
posted @ 2010-06-17 13:07 Melou 阅读(395) 评论(0) 推荐(0) 编辑
设计模式学习之路——Abstract Factory 抽象工厂模式
摘要:所有的创建型模式都涉及到创建对象实例的方式,因为程序不应该依赖于对象如何创建和安排,当然,使用new 是C#创建一个对象实例最简单的方法。然而,很多情况下,创建对象的本意随程序的需求不同而不同,将创建过程抽象成一个专门的“创造器”类,会使程序更灵活,更通用。 意图:提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类 动机:在软件系统中,经常面临着&ldquo... 阅读全文
posted @ 2010-06-17 12:56 Melou 阅读(436) 评论(1) 推荐(0) 编辑
设计模式学习之路——Strategy 策略模式
摘要:1. 意图定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。本模式使得算法可独立于使用它的客户而变化。 2. 动机在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。 如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题? 如果一个程序需要一种特定的服... 阅读全文
posted @ 2010-06-10 21:19 Melou 阅读(508) 评论(0) 推荐(0) 编辑
设计模式学习之路——Singleton 单件模式
摘要:在程序设计过程中,有很多情况需要保证一个类只有一个实例.这时候就需要使用单件模式了。 保证一个类仅有一个实例,并提供一个该实例的全局访问点。——《设计模式》GoF 结构(Struct) 1 使用静态方法创建单件 让一个类只有一个实例,最容易的方法是在类中嵌入一个静态变量,并在第一个类实例中设置该变量 阅读全文
posted @ 2010-06-02 21:06 Melou 阅读(527) 评论(4) 推荐(0) 编辑


点击右上角即可分享
微信分享提示