设计模式学习
文章平均质量分 82
jiqikewang
这个作者很懒,什么都没留下…
展开
-
设计模式之工厂模式
工厂模式定义:提供创建对象的接口.为何使用?工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成转载 2011-10-13 16:52:19 · 285 阅读 · 0 评论 -
设计模式之调停者模式(2)例子
.1.概述该模式在Head First中没有介绍,它用于通过一个中介者完成对象间通信的解耦。当代码中出现大量有着其他对象信息的对象时就可以使用这个模式。在这个模式中,有如下的参与者:中介者(Mediator):抽象定义了“同事”(colleagues,稍后有定义)们通信的接口。具体中介者(Concrete Mediator):实现了“同事”间的通信接口。同事转载 2011-11-02 10:46:11 · 411 阅读 · 0 评论 -
设计模式之strategy模式
注:本文参考了《Java设计模式》一书和WWW.jdon.com网站的《Strategy模式》一章一、Strategy模式的意图:策略操作定义了策略的输入和输出,而把策略的实现工作留给了各个类。这些类以不同的方案来实现同一操作,它们为用户提供统一的接口,因而这些类可以相互替换。Strategy模式允许多种策略共存,而代码不会混乱。策略模式也可以实现模式选择逻辑和策略本身相分转载 2011-11-03 11:00:10 · 415 阅读 · 0 评论 -
strategy模式之二
最近比较郁闷,公司的人事方面不是很如意。 她在我进公司之前,答应我给我上保险,结果现在告诉我不能替我上保险了。感觉自己被骗了。 我已经自己亲自和有关部门调查过了(前面帖子也写过的)。 1.大体的方案框架:SolveRule Java代码 public abstract class SolveRule{转载 2011-11-03 11:00:52 · 661 阅读 · 0 评论 -
设计模式之bridge模式之(2)
今天回头看了原来写的bridge模式的文章,感觉还是太泛化、理论,不能够方便快速的理解,下面就借这《大话设计模式》中有关bridge模式的解释来谈谈实际实际应用解决的问题。手机品牌和软件是两个概念,不同的软件可以在不同的手机上,不同的手机可以有相同的软件,两者都具有很大的变动性。如果我们单独以手机品牌或手机软件为基类来进行继承扩展的话,无疑会使类的数目剧增并且耦合性很高,(如果更改品牌或增转载 2011-11-04 16:20:43 · 372 阅读 · 0 评论 -
设计模式之Bridge模式(3)
仿照中bridge模式的例子自己改写的一个例子:有N个飞机制造商(AirBus.....),每个飞机制造商有客机(PassenagerPlane)和货机(CargoPlane).....实现代码如下:1.飞机制造商抽象接口: interface IAirPlaneMaker { string name { get;} //制造商名称转载 2011-11-04 16:23:14 · 340 阅读 · 0 评论 -
设计模式之visitor模式
对于这个模式,有人做了非常好的总结探讨:贴链接如下:visitor模式全解原创 2011-11-04 15:30:34 · 389 阅读 · 0 评论 -
设计模式之bridge模式(1)
《Design Patterns Explained》对Bridge模式的特征:意图:将一组实现与另一组使用他们的对象分离问题:一个抽象类 的派生类 必须使用多个实现 ,但出现类数量增长 1.未使用Bridge实例:java 代码abstract class Shape{ public void draw转载 2011-11-04 16:09:35 · 349 阅读 · 0 评论 -
设计模式之责任链模式
一. 写在前面的这么多的设计模式,我觉得职责链是我第一次看上去最简单,可是回想起来却又最复杂的一个模式。因此,这个文章我酝酿了很久,一直也没有胆量发出来,例子也是改了又改,可是仍然觉得不够合理。所以希望各位多多指教。二. 什么是链文章伊始,先让我们了解这个最基本的概念,什么是链。我给链下了这样的定义:1. 链是一系列节点的集合。2.转载 2011-11-07 15:43:47 · 3500 阅读 · 1 评论 -
设计模式之责任链Chain of Responsibility模式
对于一般的程序员而言,在平时的coding当中并没有刻意去应用什么模式。但最近我的一个体会就是,当你发现已完成功能的实现代码,其侵入性非常之高;再从软件产品整体的角度去俯瞰,该部分代码甚至已经完全不符合OCP、SRP等原则了,需求稍有变更,就需要有伤筋动骨的改动,从而导致开发的工作量变得繁多而复杂。 这就是软件设计和实现不合理所造成的困扰。其实际来源于是我最近做的一个银行业转载 2011-11-07 15:48:01 · 875 阅读 · 0 评论 -
设计模式之flyweight模式(带例子),这一篇文章讲解的比较透彻,发现网上其它的讲的都太抽象了。
java设计模式_享元模式(带例子)2010-12-16 15:09 Flyweight模式(享元) Java深入到一定程度,就不可避免的碰到设计模式这一概念,了解设计模式,将使自己对java中的接口或抽象类应用有更深的理解.设计模式在java的中型系统中应用广泛,遵循一定的编程模式,才能使自己的代码便于理解,易于交流,Flyweight(享转载 2011-11-07 14:04:22 · 1079 阅读 · 0 评论 -
设计模式之composite模式
以下内容来自http://www.lifevv.com 本文介绍设计模式中的组合(Composite)模式的概念,用法,以及实际应用中怎么样使用组合模式进行开发。Composite模式的概念Composite模式是构造型的设计模式之一,通过递归手段来构造诸如文件系统之类的树形的对象结构;Composite模式所代表的数据构造是一群具有统一接口界面的对象集合,并可以通转载 2011-11-07 14:39:33 · 460 阅读 · 0 评论 -
设计模式之mediator模式
还是从网络上搜集的感觉让自己比较容易理解的文章:第一篇,简要介绍mediator:Mediator中介者模式定义:用一个中介对象来封装一系列关于对象交互行为.为何使用Mediator?各个对象之间的交互操作非常多;每个对象的行为操作都依赖彼此对方,修改一个对象的行为,同时会涉及到修改很多其他对象的行为,如果使用Mediator模式,可以使各个对象间的耦合松散,只需关原创 2011-11-02 10:38:45 · 1106 阅读 · 0 评论 -
设计模式之command模式(看了好多文章,只有这篇让我豁然开朗。)
Command 模式 Step by Step引言提起Command模式,我想没有什么比遥控器的例子更能说明问题了,本文将通过它来一步步实现GOF的Command模式。我们先看下这个遥控器程序的需求:假如我们需要为家里的电器设计一个远程遥控器,通过这个控制器,我们可以控制电器(诸如灯、风扇、空调等)的开关。我们的控制器上有一系列的按钮,分别对应家中的某个电器,当我们在遥控器转载 2011-11-02 14:32:16 · 450 阅读 · 0 评论 -
设计模式之state模式
《设计模式》对状态模式的定义:允许一个对象在其状态改变时,改变它的行为。《设计模式》对状态模式的定义:允许一个对象在其状态改变时,改变它的行为。看起来对象似乎修改了它的类。别名:状态对象(Objects for State)。在下面两种情况下均可以使用State模式:1 一个对象的行为取决于它的状态,并且他必须在运行时刻根据状态改变它的行为。2 一个操作中含原创 2011-11-01 15:34:17 · 649 阅读 · 0 评论 -
设计模式之Builder模式
先说下自己的理解:所谓的Builder模式,重点在于用一个Builder把创建一个对象的各个部件的方法封装,这是一个接口,并且要提供返回产品,然后又一个类具体的实现Builder接口。而Director类,就是有一个创建方法,里面决定调用那些Builder的方法,以及按照那些顺序原创 2011-10-14 09:51:39 · 421 阅读 · 0 评论 -
设计模式之原型模式(Prototype)
原型模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求转载 2011-10-14 14:18:12 · 297 阅读 · 0 评论 -
设计模式之代理模式
[转帖]设计模式-快餐简解-【代理模式】【代理模式应用场景举例】 比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家“提供卖车的服务”给转载 2011-10-14 17:18:13 · 317 阅读 · 0 评论 -
Facade外观模式
[转帖]设计模式-快餐简解-【外观模式】【外观模式应用场景举例】 比如在玩“极品飞车”这款游戏,你只需要等待的就是倒计时到0时以最快的车速冲到第一名,但游戏者根本没有想过在车冲出去之前要做哪些工作,比如挂档,离合器,油箱检测,调整方向等等的微操作,将这些微操转载 2011-10-14 14:57:40 · 314 阅读 · 0 评论 -
设计模式之Builder模式实例
这里简单的写一个文件创建器,来说明Builder模式。 首先,整体介绍一下:这个文件创建器要求能实现创建txt文件和xml文件的功能。采用Builder设计模式。 第二,如果看了上一篇,对于Builder设计模式有了基本的了原创 2011-10-14 12:21:06 · 410 阅读 · 0 评论 -
设计模式之观察者模式
Java设计模式—观察者模式(Observer pattern)博客分类: Java设计模式JavaNokia生活编程 观察者模式在软件编程中用的较多,我不善于表达我就用在网上看到的故事,和生活的例子说下基本思想 故事: 小雪是一个非常漂亮的女孩,漂亮的女孩总是有很多的追求者,而且追求者的队伍在不断的变动,随时有人进入这个队伍,也有人转载 2011-10-24 15:34:54 · 416 阅读 · 0 评论 -
设计模式之适配器(Adapter)模式
一、 适配器(Adapter)模式适配器模式把一个类的接口变换成客户端所期待的另一种接口,从而使原本接口不匹配而无法在一起工作的两个类能够在一起工作。名称由来这很像变压器(Adapter),变压器把一种电压变换成另一种电压。美国的生活用电电压是110V,而中国的电压是220V。如果要在中国使用美国电器,就必须有一个能把220V电压转换成110V电压的变压器。这个变压器就是一个Ada转载 2011-10-28 10:36:30 · 421 阅读 · 0 评论 -
设计模式之装饰模式
转载自:点击打开链接现在我们来学习装饰模式。说实话,真不想写这个,因为提到这个装饰,程序员就很伤感(我也是),就想到了遥远地她和虚无缥缈地房子。房子都还没着落,谈什么装修和粉饰啊。一堵粗糙的墙,刷上白白地粉,再贴上几张壁画,整个一焕然一新。多美的事啊。哎,既然想到了,就咬着牙多想会,至少心里还有个期盼。真心祝愿大家看完这篇文章后都能够梦想成真。 生活中的装饰是很好理解的,我转载 2011-10-28 14:00:50 · 400 阅读 · 0 评论 -
设计模式之模板方法模式Template
在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template Method提供了这种情况的一个实现框架。Template Method模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。转载 2011-11-01 11:17:46 · 325 阅读 · 0 评论 -
设计模式之memento模式(备忘模式)
一、Memento模式的目的:memento是一个保存另外一个对象内部状态拷贝的对象.这样以后就可以将该对象恢复到原先保存的状态.二、Memento模式的简单例子:下面的例子来源于Jdon网站的《GoF设计模式系列》的《Memento模式》,虽然简单却形象地表明了Memento模式的应用public class Originator { privat转载 2011-11-01 14:17:00 · 397 阅读 · 0 评论