
设计模式
gaoqinqing
IT工人
展开
-
设计模式----代理模式
什么叫代理呢,网络中有各种各样的代理,比如我们上网有时候用代理服务器。你通过这样上网就是使用了代理上网。 再举个通俗的例子,你想找某局长帮你做一件事情,但局长官位显赫,你又不能轻易见着,你就想到了找他的秘书,通过她传话给局长,这样你就等于请他的秘书帮你办成了那件事。秘书为什么就可以找到局长呢,因为秘书和局长之间有一定的关系。这里产生了四个对象:你、秘书、局长、秘书-局长(关系)。转载 2011-12-27 09:40:02 · 235 阅读 · 0 评论 -
Java模式设计----单例模式
作为对象的创建模式[GOF95], 单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类。 注:本文乃阎宏博士的《Java与模式》一书的第十五章。 引言 单例模式的要点单例单例 显然单例模式的要点有三个;一是某各类只能有一个实例;二是它必须自行创建这个事例;三是它必须自行向整个系统提供转载 2011-12-27 09:42:09 · 228 阅读 · 0 评论 -
Java与模式:装饰(Decorator)模式
装饰模式使用被装饰类的一个子类的实例,把客户端的调用委派到被装饰类,装饰模式的关键在于这种扩展是完全透明的。 装饰模式在Java种使用也很广泛,比如我们在重新定义按钮、对话框等时候,实际上已经在使用装饰模式了。装饰模式最浅显的例子是相片-相框的例子。 一、原理图其中类的职责如下: 抽象构件角色(Project):给出一个接口,以规范准备接收附加责任的对象具体构件转载 2011-12-27 09:46:18 · 255 阅读 · 0 评论 -
Java设计模式之工厂方法模式
一 、工厂方法(Factory Method)模式 工厂方法模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。二、工厂方法模式角色与结构 抽象工厂(Creato转载 2011-12-27 09:44:14 · 288 阅读 · 0 评论 -
设计模式-----策略模式
Intention定义一族算法,分别封装起来,让它们可以互换。策略模式把算法与使用算法的Client之间的关系相对独立开来。 Motivation有很多算法都可以实现将一个文本流按行拆分(以下简称分行)的功能。把这些算法写死在用到这些算法的类里是不必要的,原因如下:1. 会使需要分行的Client变得臃肿,难以维护,特别是在需要支持多种分行算法的情况下。转载 2011-12-27 09:43:06 · 278 阅读 · 0 评论 -
Java代理模式
1. 代理模式代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。代理模式一般涉及到三个角色:抽象角色:声明真实对象和代理对象的共同接口;代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在转载 2011-12-27 09:40:52 · 293 阅读 · 0 评论 -
装饰器(Decorator)模式
Decorator设计模式是典型的结构型模式(在GOF的那本模式的Bible中将模式分为:1.创建型模式;2.结构型模式;3.行为模式三种)。它的主要用意是:动态地为对象添加一些额外的功能。(记住上面两种颜色的词汇,理解装饰器模式的精髓所在!)下面是GOF的《Element of reusable Object-Oriented Software》中对Decorator用意的概述:De转载 2011-12-27 09:47:21 · 286 阅读 · 0 评论 -
Java与模式:适配器模式
目的: 将一个类的接口转换成客户希望的另外一个接口。A d a p t e r 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。----- 尽量优先使用Object Adapter的模式。意图: # 你想使用一个已经存在的类,而它的接口不符合你的需求。 # 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定转载 2011-12-27 09:45:02 · 402 阅读 · 0 评论 -
单例模式完全剖析
概要 单例模式是最简单的设计模式之一,但是对于Java的开发者来说,它却有很多缺陷。在本月的专栏中,David Geary探讨了单例模式以及在面对多线程(multithreading)、类装载器(classloaders)和序列化(serialization)时如何处理这些缺陷。 单例模式适合于一个类只有一个实例的情况,比如窗口管理器,打印缓冲池和文件系统,它们都是原型的例子。转载 2011-12-27 09:41:30 · 251 阅读 · 0 评论 -
java 装饰器模式
记得以前听一个高手说java.io包采用了了装饰器模式,当时不是很明白什么事装饰器模式,现在,网上看了一下说明和帮助的例子,他们的例子是这样的。 定义Decorator装饰器,顾名思义,就是动态地给一个对象添加一些额外的职责,就好比为房子进行装修一样。因此,装饰器模式具有如下的特征:它必须具有一个装饰的对象。 它必须拥有与被装饰对象相同的接口。 它可以给被装饰对转载 2011-12-27 09:46:50 · 276 阅读 · 0 评论