设计模式系列
文章平均质量分 67
jhnack
这个作者很懒,什么都没留下…
展开
-
java软件体系结构设计模式----适配器
说明:一般说来,一个类的客户对象通过类提供的接口来访问它的服务。有些时候,一个类可以提供客户对象需要的功能,但它的接口却不同于客户对象的期望。在这种情况下,已有的接口就需要被转换为客户对象所期望的另一个接口,以保留已有类的可重用性。类适配器:类是适配器被设原创 2011-10-17 09:26:47 · 778 阅读 · 0 评论 -
java软件体系结构设计模式------责任链
说明:责任链(CoR)模式建议在发出请求的对象和该请求的潜在处理对象集之间建立一种低耦合的关联关系CoR模式的一些重要特性:a,处理客户请求的潜在对象集以及它们构成链条的顺序都可以有客户对象在运行时期动态地决定,决定的因素取决于应用的当前状态b,根原创 2011-10-17 09:41:14 · 725 阅读 · 0 评论 -
java软件体系结构设计模式----外观
说明:外观模式用来处理子系统(subsystem)。一个子系统包含多个类,它们协同合作提供一系列相关特性。子系统的客户需要和子系统中的多个类打交道来完成某个功能。这种客户和子系统中不同类直接打交道的方式会照成客户对象和子系统对象之间有过多的依赖关系。如果某个子系统原创 2011-10-17 10:14:26 · 764 阅读 · 0 评论 -
java软件体系结构设计模式----代理
一、代理模式的结构代理模式给某一个对象提供一个代理对象,并有代理对象控制对原对象的引用。按照使用目的来划分有以下几种:远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是在本机器中,也可是在另一台机器中。远程代理又叫做大使转载 2011-10-17 13:16:11 · 994 阅读 · 0 评论 -
java软件体系设计模式---享元
概念:a,内在信息:对象的内在信息是独立与对象所处环境的b,外部信息:一个对象的外部信息是与对象所处华宁有关的,并且随着环境的变化而有所不同。享元应用场合:该应用需要创建大量的对象,而这些对象只有部分参数是一致的。创建和维护这么多对象的代价是非常昂贵的,需原创 2011-10-16 20:47:35 · 451 阅读 · 0 评论 -
java软件体系结构设计模式----虚代理
说明:虚代理是一种节省内存的技术,以便确保对象只有在被调用到的时候才得到创建,尤其是这样的对象创建需要大量的内存消耗或者其他资源优点:程序启动快,应为在启动时不需要创建或者加载所有的应用对象。缺点:应为无法确认一个对象是否已经创建。每次访问它的时候都要原创 2011-10-17 15:27:51 · 1005 阅读 · 0 评论 -
深入浅出解释器模式
一、引子其实没有什么好的例子引入解释器模式,因为它描述了如何构成一个简单的语言解释器,主要应用在使用面向对象语言开发编译器中;在实际应用中,我们可能很少碰到去构造一个语言的文法的情况。 虽然你几乎用不到这个模式,但是看一看还是能受到一定的启发的。 二、定义与结构解释器模式的定义如下:定义语言的文法,并且建立一个解释器来解释该语言中的句子。它属于类的行为模式。这里的语转载 2011-10-19 22:18:00 · 764 阅读 · 0 评论 -
java软件体系结构设计模式-------对象缓存器
import java.util.*;public class ItemCache { private final static int Max_cache_size = 5; Vector cache; public ItemCache() { cache = new Vector(); } public String getI原创 2011-10-19 21:24:03 · 670 阅读 · 0 评论 -
观察者模式 (发布-订阅模式)
1.意图: 定义对象间的一种一对多的依赖关系,当一个主题对象的状态发生改变时, 所有监听它的观察者对象都得到通知并被自动更新。 2.类图: 3.原理: 主题对象并不知道引用了哪些具体观察者对象类型,而只知道抽象观察者类型,这样具体主题对象可以动态地维护一系列的观察者对象的引用,并在需要的时候调用每一个观察者共有的更新方法。这是转载 2011-10-19 22:02:12 · 2695 阅读 · 0 评论 -
java软件体系设计模式----命令
一,当客户应用需要根据用户(或别的应用)交互提哦那个一个服务时:1,创建必要的接受者(Receiver)对象2,创建一个正确的命令对象并且配置它使用咋第一步中创建的接受者对象。3,创建调用者的一个实例并且配置它使用在第2步中定义的命令对象4,调用者(Invoker)调用命令对象的execute方法5,作为execute方法实现的一部分,一个典型的命令对象(Command Obj转载 2011-10-19 20:58:47 · 474 阅读 · 0 评论 -
《java与模式》学习系列——调停者模式
一、调停者(Mediator)模式的结构调停者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散地耦合。当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响到其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化。在调停者模式中,所有的成员对象都可以协调工作,但是又不直接相互管理。这些对象都与一个处于中心地位的调停者对象发生紧密关系转载 2011-10-19 21:03:11 · 609 阅读 · 0 评论 -
java软件体系结构模式----桥接
说明:桥接模式进一步把一个抽象提(abstraction)的接口和实现分离开来,在这里,抽象体指的是把对象的和某种具体用途相关的属性和行为分离出来的表现形式。从这个意义上来说,一个对象是一系列抽象体的集合,其中每一个抽象体值包含该项功能的相关属性和行为。彼此之间没有相互干原创 2011-10-17 14:45:50 · 1690 阅读 · 0 评论 -
java软件体系结构模式---集合模式
集合模式基本上可以用于:a,处理由一些对象组成的组或者集合b,处理如何组织类和对象来形成更大结构的细节c,关注设计一个无冗余数据类的最有效方法d,允许在一组对象构成的集合上定义操作合成:允许单个对象和合成对象被以一种统一的方式访问迭代子原创 2011-10-16 22:47:49 · 683 阅读 · 0 评论 -
设计模式之单例
概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺转载 2011-07-22 13:52:43 · 471 阅读 · 0 评论 -
Observer Pattern(观察者模式)
观察者模式应用比较广泛,写一个简单的示例,扩展了一下Head First上面例子的应用范围,进一步降低Observer与Subject之间的耦合度。简单例子,直接给代码:package test; public interface Subje转载 2011-09-11 13:10:58 · 448 阅读 · 0 评论 -
装饰者模式
装饰者模式Decorator模式(别名Wrapper):动态将职责附加到对象上,若要扩展功能,装饰者提供了比继承更具弹性的代替方案。 意图:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。转载 2011-09-11 13:39:47 · 462 阅读 · 0 评论 -
Java软件体系设计模式----基本模式
1,接口可用于设计一组提供相同服务的服务提供者类,以使客户对象可以无缝地使用不同类型的服务提供者对象,而不需要改动其实现。2,抽象父类用于设计一个框架,对一组相关类的共有功能提供一致的实现。3,私有方法提供一种设计类的行为的方法,不允许外部对象原创 2011-10-14 19:44:36 · 477 阅读 · 0 评论 -
Java软件体系设计模式----工厂模式
有时,应用对象可能只知道他需要访问类层次结构中得某个类,但并不确定要从父类的子类集中选着哪个类。如何选着相应的类可能取决与某些因素,例如:a,所运行的应用状态b,应用配置设置c,需求或增强的扩展实例:类层次代码:packag原创 2011-10-14 20:42:45 · 327 阅读 · 0 评论 -
java软件体系设计模式-----抽象工厂
工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).这两个模式区别在于需要创建对象的复杂程度上。如果我们创建对象的方法变得复杂了,如上面工厂方法中是创建一个对象Sample,如果我们还有新的产品接口Sample2.这里假转载 2011-10-15 10:06:48 · 354 阅读 · 0 评论 -
java软件体系设计模式----原型
“工厂方法”和“抽象工厂“模式都允许系统独立与对象创建流程。针对他们提出的相同问题,”原型“模式提供了一种不同的更灵活的方式以多的相同的结果。浅复制与深复制浅复制:a,原顶层对象与所有原始成员都被复制b,顶层对象包含的任何顶层对象都不被复制,仅复制这些对象原创 2011-10-15 11:04:08 · 371 阅读 · 0 评论 -
《Java与模式》学习笔记:设计模式——合成(Composite)模式
合成模式合成(Composite)模式属于对象的结构模式。1.定义:合成模式将对象组织到树结构中,可以用来描述整体和部分的关系。合成模式可以使客户端将单纯的元素和复合的元素同等看待。注意:就如阎博士书中所说,用文件系统来理解合成模式是个很好的方式。2.两种实现转载 2011-10-16 22:33:52 · 480 阅读 · 0 评论 -
java软件体系结构设计模式----装饰者
说明:装饰者模式用于动态地扩展一个对象昂的功能,而不需要改变原始的类代码或使用继承。这一点是通过在一个世纪对象的外围创建一个称为装饰器的封装对象来做到的装饰器所具有的特性:a,装饰器被设计为与底层实际对象具有相同接口的形式。这使得客户对象可以使用与底层实际对象转载 2011-10-16 23:29:09 · 599 阅读 · 0 评论 -
java软件体系结构设计模式----rmi远程代理
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://haolloyin.blog.51cto.com/1177454/332426 RMI(即Remote Method Invoke 远转载 2011-10-17 13:27:46 · 1550 阅读 · 0 评论 -
java软件体系设计模式-----访问者
说明:访问者模式可用于设计一个集合操作,该操作跨越由包含在同一类层次结构当中的一类对象组成的一个对象集。访问者模式允许在不改变对象集所属类的前提下定义操作。设计思想:对象集中的对象所属的类需要定义一个方法。对执行访问者操作感兴趣的客户需要做到:a,创建原创 2011-10-16 21:32:40 · 393 阅读 · 0 评论 -
《java与模式》学习系列——备忘录模式
一、备忘录(Memento)模式结构备忘录对象是一个用来存储另外一个对象内部状态的快照(snapshot)的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化,存储起来,从而可以在将来适合的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同使用。其结构图如下:备忘录模式涉及三个角色:备忘录(Memento)角色、发起人(Orig转载 2011-10-19 21:49:46 · 701 阅读 · 0 评论