
设计模式
简单介绍设计模式,主要材料来自于大话设计模式。对设计模式的一些理解和总结
IT小白_L
风华是一指流砂,苍老是一段年华!
展开
-
设计模式之中介者模式
一、模式定义: 用一个中介者对象来封装一系列的对象交互。中介者使各对象不需要显式的相互引用,从而使其耦合松散,而且可以独立的改变他们之间的交互。 二、结构图 1) 抽象中介者:定义同事(Colleague)对象到中介者(Mediatior)对象的接口,通常是一个事件方法。 2) 具体中介者:具体中介者实现抽象中介者声明的方法。知晓所有的具体同事原创 2014-05-25 19:22:09 · 1324 阅读 · 13 评论 -
设计模式之访问者模式
一、访问者模式定义: 表示一个作用于某对象结构中各元素的操作。它可以使你不修改各元素类的前提下定义作用于这些元素的新操作,也就是动态的增加新的方法。 二、Visitor模式结构图: 三、Visitor模式中主要角色: 1)访问者角色(Visitor):为该对象结构(ObjectStructure)中的具体元素提供一个访问操作接口。该操作接口原创 2014-05-25 19:21:41 · 952 阅读 · 7 评论 -
设计模式之代理模式
一、Proxy模式定义: 为其他对象提供一种代理以控制这个对象的访问 二、模式解说 Proxy代理模式是一种结构型设计模式,主要解决的问题是:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访原创 2014-05-25 14:20:50 · 1147 阅读 · 5 评论 -
设计模式之迭代器模式
Iterator模式定义: 提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。 这个模式在java的类库中已经实现了,在java中所有的集合类都实现了Conllection接口,而Conllection接口又继承了Iterable接口,该接口有一个iterator方法,也就是所以的集合类都可以通过这个iterator方法来转换成Iterator类,用Ite原创 2014-05-11 19:49:47 · 1168 阅读 · 7 评论 -
设计模式之备忘录模式
模式定义: 在不破坏封装的前提下,捕获一个对象内部状态,并在该对象之外保存这个状态,这样就可以将该对象回复到原先保存前的状态。 模式解说: 在程序运行过程中,某些对象的状态处在转换过程中,可能由于某种原因需要保存此时对象的状态,一边程序运行到某个特定阶段,需要回复到对象之前处于某个点事的状态。如果使用一些公有接口让其他对象来的到对象的状态,便会暴露对象的实现细原创 2014-04-29 18:13:31 · 3868 阅读 · 10 评论 -
设计模式之State模式
State模式定义: 允许一个对象在状态改变是,改变它的行为。看起来对象似乎修改了它的类。 模式理解(个人): State模式主要解决的事在开发中时常遇到的根据不同状态需要进行不同的处理操作的问题,而这样的问题,大部分人会采用switch-case语句进行处理,这样会造成一个问题:分支过多,而且如果加入一个新的状态就需要对原来的代码进行编译。State原创 2014-04-29 11:25:47 · 3079 阅读 · 9 评论 -
设计模式之装饰模式
《设计模式》一书对Decorator是这样描述的: 动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式比生成子类更为灵活。 也就是说:动态地给对象添加一些额外的功能。它的工作原理是:创建一个始于Decorator对象(负责新功能的对象)终止于原对象的一个对象的“链”。例如,我们要为超市的收银台设计一个打印票据的程序,有的需要打印票据的头信息,有的需要打印票据原创 2014-04-13 18:48:23 · 4167 阅读 · 19 评论 -
简单工厂模式
在OO设计领域,我们知道前人总结了不少的经验,许多的经验在现代软件工程过程中已经被认为是原则来遵守。下面我摘抄几项下文涉及到的OO原则的定义。 OCP(开闭原则,Open-Closed Principle):一个软件的实体应当对扩展开放,对修改关闭。我的理解是,对于一个已有的软件,如果需要扩展,应当在不需修改已有代码的基础上进行。 DIP(依赖倒转原则,Dependence Inver原创 2014-04-06 07:58:46 · 4482 阅读 · 18 评论