feipeng

不要过分强调技术,思想才是关键!
  新随笔  :: 管理

随笔分类 -  设计模式

摘要:大家在学习ObjectBuilder的Locator时,可能都知道里面是使用WeakRefDictionary作为它内部的存储结构,以实现对象的缓冲机制。那WeakRefDictionary的是如何实现的呢?其实它是采用对象适配器模式,把一个Dictioary泛型集合对象适配成符合存储弱引用对象的集合。 阅读全文

posted @ 2007-08-02 11:29 FrankFei 阅读(2113) 评论(2) 推荐(1) 编辑

摘要:一、在分析之前,先把Strategy模式和Chain of Resposibility模式做一下简单介绍。 阅读全文

posted @ 2007-07-31 13:38 FrankFei 阅读(3379) 评论(9) 推荐(1) 编辑

摘要:二、概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化? 阅读全文

posted @ 2007-03-13 10:37 FrankFei 阅读(13018) 评论(3) 推荐(0) 编辑

摘要:创建型模式   1、FACTORY—追MM少不然口味有所不同,但不管你麦当劳和肯德基就是生产鸡 了请吃饭了,麦当劳的鸡翅和肯带MM去麦当劳或肯德基,只管向翅的Factory 德基的鸡翅都是MM爱吃的东西,虽服务员说“来四个鸡翅”就行了。   工厂模式:客户类和工消费者无须修改就可以接纳何创建及如何向客户端提供 厂类分开。消费者任何时候需要新产品。缺点是当产品修改时,。 某种... 阅读全文

posted @ 2007-03-13 10:12 FrankFei 阅读(1253) 评论(2) 推荐(0) 编辑

摘要:一、概述 在软件系统中,有时候面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化,但是将它们组合在一起的算法确相对稳定。如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?这就是要说的建造者模式。 阅读全文

posted @ 2007-03-12 14:40 FrankFei 阅读(11549) 评论(9) 推荐(0) 编辑

摘要:一、概述 在软件系统中,经常面临着“某个对象”的创建工作,由于需求的变化,这个对象的具体实现经常面临着剧烈的变化,但是它却拥有比较稳定的接口。如何应对这种变化?提供一种封装机制来隔离出“这个易变对象”的变化,从而保持系统中“其它依赖该对象的对象”不随着需求的改变而改变?这就是要说的Factory Method模式了。 阅读全文

posted @ 2007-03-12 09:41 FrankFei 阅读(3971) 评论(11) 推荐(0) 编辑

摘要:在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态,工厂方法针对的仅仅是一种“产品”,或者称为“类”,而抽象工厂实际上针对很多平行的产品,因此层次不同。抽象工厂才是名副其实的“工厂”,即不仅仅只生产一种产品,抽象工厂是层次较高的模式,针对应用中需要使用的一系列相关的类给出一个创建接口。 学会了用抽象工厂模式,你将理解OOP的精华:面向接口编程。 阅读全文

posted @ 2007-03-09 13:25 FrankFei 阅读(7805) 评论(8) 推荐(0) 编辑