java设计与模式
roverliu
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
抽象工厂(Abstract Factory)模式【创建模式第一篇】
前序:现在开始将自己整理的一些java设计模式的笔记与大家共享,希望大家不吝指正,谢谢。声明:虽然这些都是出自《java设计与模式》一书中,但是是本人的学习心得笔记,请尊重本人劳动,谢谢[size=medium][b]抽象工厂(Abstract Factory)模式:[/b][/size]1、抽象工厂模式可以向客户端提供一个接口,使得客户端在不必指定产品的具体类型的情况下,创建...2009-10-22 23:12:25 · 142 阅读 · 0 评论 -
不变(Immutable)模式【行为模式第二篇】
不变(Immutable)模式 一个对象的状态在对象被创建之后就不再变化,这就是不变模式。 一、不变模式有两种模式 1、弱不变模式 一个类的实例的状态是不可变化的,但是这个类的子类的实例具有可能会变化的状态。这样的类符合弱不变模式的定义。 要实现弱不变模式,一个类必须满足下面条件: 第一、所考虑的对象没有任何方法会修改对象的状态,这样一来,当对象的构造...2009-10-23 23:21:13 · 165 阅读 · 0 评论 -
策略(Strategy)模式 【行为模式第三篇】
策略(Strategy)模式 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换, 策略模式可以在不影响到客户端的情况下发生变化。 一、策略模式涉及到的角色; 1、环境(Context)角色:持有一个Strategy类的引用。 2、抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽...2009-10-23 23:22:09 · 184 阅读 · 0 评论 -
调停者(Mediator)模式 【行为模式第四篇】
调停者(Mediator)模式 调停者模式是对象的行为模式。调停者模式包装了一系列对象相互作用的方式,使得这些对象不必互相明显引用。从而使它们可以较松散地耦合。 当这些对象中的某些对象之间的相互作用发生改变时,不会立即影响其他的一些对象之间的相互作用。从而保证这些相互作用可以彼此独立地变化 要想恰到好处地在一个系统里面使用设计模式,必须做到以下几点: (1)完全了解面临的问...2009-10-23 23:23:03 · 638 阅读 · 0 评论 -
迭代子(Iterator)模式【行为模式第五篇】
迭代子(Iterator)模式: 迭代子模式又叫游标(Cursor)模式,是对象的行为模式。迭代子模式可以顺序地访问一个聚集中的元素而不必暴露聚集的内部表象。 多个对象聚在一起形成的总体称之为聚集(Aggregate),聚集对象是能够包容一组对象的容器对象。聚集依赖于趋集结构的抽象化,具体复杂性 和多样性。数组就是最基本的聚集,也就是其他的java聚集对象的设计基础。 ja...2009-10-23 23:25:19 · 168 阅读 · 0 评论 -
访问者(Visitor)模式【行为模式第六篇】
访问者(Visitor)模式: 访问者模式是对象的行为模式。访问者模式的目的是封装一些施加于某种数据结构元素之上的操作。一旦这些操作要修改的话,接受这个操作的数据 结构则 可以保持不变。 聚集是的大多数的系统都要处理一种容器对象,它保存了对其他对象的引用。相信大多数读者都有处理聚集的经验,但是人家处理过的大多数聚集 恐怕 都是同类操作,而迭代子模式就是为这种情况准备的设...2009-10-23 23:26:46 · 148 阅读 · 0 评论 -
观察者(Observer)模式【行为模式第七篇】
观察者(Observer)模式 观察者模式是对象的行为模式,又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、 源-监听器(Source/Listener)模式或从属者(Dependents)模式。 观察者模式定义了一种一对多的依赖关系,许多个观察者对象同时监听某一个主题对象。这个主题对象在状态上发生变化时, 会通知所有观察者...2009-10-23 23:28:10 · 172 阅读 · 0 评论 -
解释器(Interpreter)模式【行为模式第八篇】
解释器(Interpreter)模式: 解释器模式是类的行为模式。给定一个语言之后,解释器模式可以定义出其文法的一种表示,并同时提供一个解释器。客户端可以使用这个解释器 来解释这个语言中的句子。 一、解释器模式所涉及的角色 1、抽象表达式角色:声明一个所有的具体表达式角色都需要实现的抽象接口。这个接口主要是一个interpret()方法,称做解释操作。 2、终结符表达...2009-10-23 23:29:57 · 170 阅读 · 0 评论 -
命令(Command)模式【行为模式第九篇】
命令(Command)模式: 命令模式属于对象的行为模式。命令模式又称为行动模式或交易模式。 命令模式把一个请求或者操作封装到一个对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令 的撤销和恢复功能。 命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作: 请求的一方发...2009-10-23 23:31:14 · 201 阅读 · 0 评论 -
模板方法(Template Method)模式【行为模式第十篇】
模板方法(Template Method)模式 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造子的形式实现,然后声明一些抽象方法来迫使子类 实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这就是模板方法模式的用意 一、涉及到的角色 抽象模板角色有如下责任: 1、定义了一个或多个抽象操作,以便让子...2009-10-23 23:32:16 · 151 阅读 · 0 评论 -
责任链(Chain of Responsibility)模式【行为模式第十一篇】
责任链(Chain of Responsibility)模式 责任链模式是一种对象行为模式。 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。 发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求,这使得系统可以在不影响客户端的情况下动态地重新组织链和分配责任。 责任链模式的角色: ...2009-10-23 23:33:54 · 347 阅读 · 0 评论 -
状态(State Pattern)模式【行为模式第十二篇】
状态(State Pattern)模式:又称为状态对象模式,状态模式是对象的行为模式 状态模式允许一个对象在其内部状态改变的时候改变其行为,这个对象看上去就像是改变了它的类一样。 模式所涉及的角色: 1、抽象状态角色:定义一个接口,用以封装环境对象的一个特定的状态所对应的行为。 2、具体状态角色:每一个具体状态类都实现了环境的一个状态所对应的行为。 3、环境角色:定...2009-10-23 23:35:23 · 139 阅读 · 0 评论 -
MVC模式【行为模式第十三篇】
MVC模式:就是模型-视图-控制器模式 一、架构模式 1、模型端 在MVC模型里,模型便是执行某些任务的代码,而这部分代码并没有任何逻辑决定它对用户端的表示方法。 模型端只有纯粹的功能性接口,也就是一系列的公开方法。通过这些公开方法,便可以取得模型端的所有功能。 在这些公开方法中,有些是取值方法,让系统其他部分可以得到模型端的内部状态参数,其他的改值方法则允许...2009-10-23 23:36:49 · 187 阅读 · 0 评论 -
备忘录(Memento Pattern)模式 【行为模式第一篇】
备忘录(Memento Pattern)模式 备忘录模式又叫做快照模式(Snapshot Pattern)或Token模式,是对象的行为模式。 备忘录对象是一个用来存储另外一个对象内部状态的快照的对象。备忘录模式的用意是在不破坏封装的条件下,将一个对象的状态捕捉住,并外部化 存储起来,从而可以在将来合适的时候把这个对象还原到存储起来的状态。备忘录模式常常与命令模式和迭代子模式一同...2009-10-23 23:19:40 · 196 阅读 · 0 评论 -
适配器模式举例【结构模式第八篇】
XMLProperties与适配器模式举例:[code="java"]//----- import java.io.FileReader; import org.xml.sax.XMLReader; import org.xml.sax.InputSource; import org.xml.sax.helpers.XMLReaderFactory; import or...2009-10-23 23:17:11 · 163 阅读 · 0 评论 -
适配器模式【结构模式第六篇】
适配器模式(Adapter Pattern)(另称-变压器模式): 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作 1、(类适配器)模式所涉及的角色有: 1/目标(Target)角色:这就是所期待得到的接口。由于是类适配器模式,因此目标不可以是类。 2/源(Adaptee)角色:现有需要适配的接口。 3/适...2009-10-23 23:12:38 · 110 阅读 · 0 评论 -
工厂模式【创建模式第二篇】
工厂模式的几种形态: 1、简单工厂模式,又叫做静态工厂方法(Static Factory Method)模式。 2、工厂方法模式,又称为多态性工厂(Polymorphic Factory)模式 3、抽象工厂模式,又称工具(Kit或ToolKit)模式简单工厂模式(Simple Factory) 1、模式: 简单工厂模式是类的创建模式,又叫做静态工厂方法(Static...2009-10-23 20:18:53 · 118 阅读 · 0 评论 -
工厂方法(Factory Method)模式【创建模式第三篇】
工厂方法(Factory Method)模式 1、工厂方法模式是类的创建模式,又叫做虚拟构造子模式或者多态性工厂模式 工厂方法模式的用意是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类中。 一般而言工厂方法模式的系统设计到以下几种角色: 1) 抽象工厂(Creator)角色:担任这个角色的是工厂方法模式的核心,它是与应用程序无关的, 任何...2009-10-23 22:46:38 · 149 阅读 · 0 评论 -
单例(Singleton)模式【创建模式第四篇】
单例(Singleton)模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。这个类称为单例类 1、单例模式的要点: 1) 某个类只能有一个实例 2) 它必须自行创建这个实例 3) 它必须自行向整个系统提供这个实例 2、单例模式的例子: 1) 打印机 2) 传真机使用的传真卡,只应该由一个软件管理 3) Windows回收站...2009-10-23 22:49:12 · 156 阅读 · 0 评论 -
多例模式【创建模式第五篇】
多例模式(Multiton Pattern) 1、多例模式特点: 1) 多例类可有多个实例 2) 多例类必须自己创建、管理自己的实例,并向外界提供自己的实例。[code="java"]//多例类(骰子) import java.util.Random; import java.util.Date; public class Die{ pri...2009-10-23 22:51:40 · 158 阅读 · 0 评论 -
建造(Builder)模式 【创建模式第六篇】
建造(Builder)模式 建造模式是对象的创建模式。 产品的内部表象:一个产品常有不同的组成成分作为产品的零件,这些零件有可能是对象,也有可能不是对象它们通常叫做产品的内部表象 角色: 1、抽象建造者角色:给出一个抽象接口,以规范产品对象的各个组成成分的建造。一般而言,有多少个零件就有多少个建造方法 2、具体建造者角色:担任这个角色的是与应用程序紧密相关的一...2009-10-23 22:53:53 · 182 阅读 · 0 评论 -
原始模型(Prototype【创建模式第七篇】
原始模型(Prototype): 属于对象的创建模式。通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的办法创建出更多同类型的对象。 java.lang.Object.clone()方法,所有javaBean都必须实现Cloneable接口,才具有clone功能; Java语言提供的Cloneable接口只起一个作用,就是在运行时期通知java虚拟机可...2009-10-23 22:56:50 · 289 阅读 · 0 评论 -
单例模式应用【创建模式第八篇】
预定式存储: 为了保证在任何情况下键值都不会出现重复,应当使用预定式键值存储办法。在请求一个键值时,首先将数据库中的键值更新为下一个可用值, 然后将旧值提供给客户端。这样万一出现运行中断的话,最多就是这个键值被浪费掉。记录式存储: 键值首先被返还给客户端,然后记录到数据库中。这样做的缺点是,一旦系统中断,就有可能出现客户端已经使用了一个键值,而这个键值却 没有来得及存储到数据库...2009-10-23 22:59:01 · 186 阅读 · 0 评论 -
代理(Proxy)模式 【结构模式第一篇】
代理(Proxy)模式 是对象的结构模式,代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。 一、代理的种类: 如果按照使用目的来划分,代理有以下几种: 1、远程(Remote)代理:为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是在本机器中, 也可以在另一台机器中。远程代理又叫做大使(Ambassador)...2009-10-23 23:02:06 · 260 阅读 · 0 评论 -
合成(Composite)模型模式【结构模式第二篇】
合成(Composite)模型模式: 属于对象的结构模式,有时又叫做部分-整体(Part-Whole)模式。 合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式可以使客户端将单纯元素与复合元素同等看待。 1、模式涉及到的三个角色 1)抽象构件(Component)角色:这是一个抽象角色,它给参加组合的对象规定一个接口。这个角色给出共有的接口机器默认行为。...2009-10-23 23:04:35 · 449 阅读 · 0 评论 -
亨元(Flyweight Pattern)模式【结构模式第三篇】
亨元(Flyweight Pattern)模式 1、亨元模式的用意 亨元模式是对象的结构模式。亨元模式以共享的方式高效地支持大量的细粒度对象。 亨元模式能做到共享的关键是区分内蕴状态和外蕴状态 一个内蕴状态是存储在亨元对象内部的,并且是不会随环境改变而有所不同的。因此,一个亨元可以具有内蕴状态并可以共享。 一个外蕴状态是随环境改变而改变的、不可以共享的状...2009-10-23 23:07:00 · 190 阅读 · 0 评论 -
门面(Facade)模式【结构模式第四篇】
门面(Facade)模式: 是对象的结构模式。外部与一个子系统的通信必须通过一个统一的门面对象进行。549P 一、门面模式的角色: 1、门面角色:客户端可以调用这个角色的方法。此角色知晓相关的(一个或多个)子系统的功能和责任。 在正常情况下,本角色会将所有从客户端发来的请求委派到相应的子系统去。 2、子系统角色:可以同时有一个或者多个子系统。每一...2009-10-23 23:08:09 · 106 阅读 · 0 评论 -
桥梁(Bridge)模式【结构模式第五篇】
桥梁(Bridge)模式: 一、桥梁模式的用意 桥梁模式的用意是:将抽象化与实现化脱耦,使得二者可以独立地变化。 1、抽象化 存在于多个实体中的共同的概念性联系,就是抽象化。作为一个过程,抽象化就是忽略一些信息,从而把不同的实体当做同样 的实体对待。 2、实现化 抽象化给出的具体实现就是实现化。 一个类的实例就是这个类的实现化,一个具体...2009-10-23 23:09:52 · 192 阅读 · 0 评论 -
java设计模式笔记链接地址汇总
各位,这些笔记已经生成了pdf,如果有兴趣的可以在本文末尾下载。[b]汇总如下:[/b]抽象工厂(Abstract Factory)模式:[url]http://liulve-rover-163-com.iteye.com/blogs/501216[/url]简单工厂模式:[url]http://liulve-rover-163-com.iteye.com/bl...2009-10-24 14:46:52 · 139 阅读 · 0 评论
分享