寂寞的风永不搁浅

学习之初 多为转载 未名出处 敬请见谅 点滴积累 必有作为

博客园 首页 新随笔 联系 订阅 管理

2008年12月3日 #

摘要: 代理(Proxy)模式给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 阅读全文
posted @ 2008-12-03 17:03 景阳 阅读(254) 评论(0) 推荐(0) 编辑

摘要: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。 阅读全文
posted @ 2008-12-03 13:45 景阳 阅读(182) 评论(0) 推荐(0) 编辑

摘要: 在软件系统中,有时候我们会使用继承来扩展对象的功能,但是由于继承为类型引入的静态特质,使得这种扩展方式缺乏灵活性;并且随着子类的增多(扩展功能的增多),各种子类的组合(扩展功能的组合)会导致更多子类的膨胀。如何使“对象功能的扩展”能够根据需要来动态地实现?同时避免“扩展功能的增多”带来的子类膨胀问题?从而使得任何“功能扩展变化”所导致的影响将为最低?这就是本文要讲的Decorator模式。 阅读全文
posted @ 2008-12-03 11:56 景阳 阅读(179) 评论(0) 推荐(0) 编辑

摘要: 装饰(Decorator)模式又名包装(Wrapper)模式[GOF95]。装饰模式以对客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。 阅读全文
posted @ 2008-12-03 11:54 景阳 阅读(181) 评论(0) 推荐(0) 编辑

摘要: 将对象组合成树形结构以表示“部分-整体”的层次结构。Composite模式使得用户对单个对象和组合对象的使用具有一致性。 阅读全文
posted @ 2008-12-03 11:52 景阳 阅读(131) 评论(0) 推荐(0) 编辑

摘要: 组合模式有时候又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解耦。 阅读全文
posted @ 2008-12-03 11:49 景阳 阅读(206) 评论(0) 推荐(0) 编辑

摘要: 合成模式有时又叫做部分-整体模式(Part-Whole)。合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。 阅读全文
posted @ 2008-12-03 11:46 景阳 阅读(234) 评论(0) 推荐(0) 编辑

摘要: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。 阅读全文
posted @ 2008-12-03 11:44 景阳 阅读(166) 评论(0) 推荐(0) 编辑

摘要: 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?这就是本文要说的Adapter 模式。 阅读全文
posted @ 2008-12-03 11:42 景阳 阅读(134) 评论(0) 推荐(0) 编辑

摘要: 适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。 阅读全文
posted @ 2008-12-03 11:40 景阳 阅读(255) 评论(0) 推荐(0) 编辑

摘要: 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。 阅读全文
posted @ 2008-12-03 11:38 景阳 阅读(154) 评论(0) 推荐(0) 编辑

摘要: 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构。这时如果用工厂模式,则与产品类等级结构平行的工厂方法类也要随着这种变化而变化,显然不大合适。那么如何封装这种动态的变化?从而使依赖于这些易变对象的客户程序不随着产品类变化? 阅读全文
posted @ 2008-12-03 11:36 景阳 阅读(139) 评论(0) 推荐(0) 编辑

摘要: 原型模式的用意是:通过给出一个原型对象来指明所要创建的对象类型,然后用复制这个原型对象的办法创建出更多的同类型对象。 阅读全文
posted @ 2008-12-03 11:34 景阳 阅读(209) 评论(0) 推荐(0) 编辑

摘要: 将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示。 阅读全文
posted @ 2008-12-03 11:32 景阳 阅读(230) 评论(0) 推荐(0) 编辑

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

摘要: 建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同的内部表象的产品对象。 阅读全文
posted @ 2008-12-03 11:26 景阳 阅读(255) 评论(0) 推荐(0) 编辑

摘要: 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 阅读全文
posted @ 2008-12-03 11:23 景阳 阅读(214) 评论(0) 推荐(0) 编辑

摘要: 在软件系统中,经常面临着“一系列相互依赖的对象”的创建工作;同时由于需求的变化,往往存在着更多系列对象的创建工作。如何应对这种变化?如何绕过常规的对象的创建方法(new),提供一种“封装机制”来避免客户程序和这种“多系列具体对象创建工作”的紧耦合?这就是我们要说的抽象工厂模式。 阅读全文
posted @ 2008-12-03 11:20 景阳 阅读(204) 评论(0) 推荐(0) 编辑

摘要: 抽象工厂模式是所有形态的工厂模式中最为抽象和最具一般性的一种形态。 阅读全文
posted @ 2008-12-03 11:12 景阳 阅读(182) 评论(0) 推荐(0) 编辑

摘要: 定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 阅读全文
posted @ 2008-12-03 11:09 景阳 阅读(159) 评论(0) 推荐(0) 编辑