设计模式
文章平均质量分 80
afei198409
这个作者很懒,什么都没留下…
展开
-
掌握设计模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7247188IT职场的小菜经常有这样的疑问: 为什么一个相似的功能,大牛一会儿就搞定,然后悠闲地品着下午茶逛淘宝;而自己加班加点搞到天亮还做不完。 为什么用户提出需求变更后,大牛只需潇洒地敲敲键盘,改改配置;而自己将代码改了又改,删了又建,几乎晕厥,转载 2014-04-01 11:47:47 · 555 阅读 · 0 评论 -
23种设计模式(12):外观模式(Facade Pattern)
资料摘自《Head First设计模式》外观模式提供一个简化的接口使得子系统更易于使用。生活范例:组建自己的家庭影院通过一番研究,你组装了一套杀手级的系统,内含DVD播放器、投影机、自动屏幕、环绕立体声,甚至还有爆米花机。你花了好几个星期布线、挂上投影机、连接所有的装置并进行微调。现在,你准备开始享受一部电影.....挑选一部DVD影片,放松,准备开始感受电影的魔幻魅力。哎原创 2015-02-04 21:33:25 · 508 阅读 · 0 评论 -
23种设计模式(13):模板方法模式
转载于:http://blog.csdn.net/gao_zhuang/article/details/8585618在阎宏博士的《JAVA与模式》一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同转载 2015-02-09 16:59:38 · 587 阅读 · 0 评论 -
23种设计模式(14):状态模式
资料摘自《Head First设计模式》状态模式--允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。示例:万能糖果公司想制造出糖果机,该糖果机的工作状态如下上面所示,糖果机的状态有:没有25分钱、有25分钱、售出糖果、糖果售罄下面来实现这个糖果机:public class GumballMachine {final static int SOLD_OU原创 2015-02-12 17:04:03 · 478 阅读 · 0 评论 -
23种设计模式(15):迭代器模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7610745定义:提供一种方法访问一个容器对象中各个元素,而又不暴露该对象的内部细节。类型:行为类模式类图: 如果要问java中使用最多的一种模式,答案不是单例模式,也不是工厂模式,更不是策略模式,而是迭代器模式,先来看一段代码吧:转载 2015-03-02 20:00:44 · 424 阅读 · 0 评论 -
23种设计模式(16):中介者模式
转载于:http://www.cnblogs.com/BeyondAnyTime/archive/2012/08/30/2663922.html一、初识中介者模式那些年,我们一起上过的大学,班级里有班长,有团书记。想一想如果没有QQ这种通讯工具的话,那么班长或者团支书该怎样下达消息呢??同时,班级上两个同学之间也可惜沟通啊,沟通一下,院里哪个女生,哪个帅哥呀~~~如果没有QQ的转载 2015-03-03 14:03:24 · 627 阅读 · 0 评论 -
23种设计模式(22):享元模式(2)
转载于:http://www.cnblogs.com/rush/archive/2011/10/01/2197785.html1.1.1 摘要 今天是国庆节,祝大家国庆节快乐身体健康,在我们面向对象设计过程中,我们常常会面临着对象实例过多的问题,如果对象实例过多这将是我们系统性能提高的一个瓶颈。假设我们要设计一个星空场景,现在我们需要实例星星对象,我们可以实例每转载 2015-03-19 20:58:38 · 426 阅读 · 0 评论 -
23种设计模式(17):代理模式
转载于:http://blog.csdn.net/sada09/article/details/8646866代理模式是由GoF提出的23种软件设计模式的一种。其定义为:为其他对象提供一种代理以控制对这个对象的访问。别名:Surrogate。 所谓代理,是指具有与代理元(被代理的对象)具有相同的接口的类,客户端必须通过代理与被代理的目标类交互,而代理一般在交互的过程中(转载 2015-03-05 16:08:05 · 435 阅读 · 0 评论 -
23种设计模式(18):访问者模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7489639定义:封装某些作用于某种数据结构中各元素的操作,它可以在不改变数据结构的前提下定义作用于这些元素的新的操作。类型:行为类模式类图: 访问者模式可能是行为类模式中最复杂的一种模式了,但是这不能成为我们不去掌握它的理由。我们首先来看一转载 2015-03-05 17:16:35 · 430 阅读 · 0 评论 -
23种设计模式(21):备忘录模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7697549定义:在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样就可以将该对象恢复到原先保存的状态类型:行为类类图: 我们在编程的时候,经常需要保存对象的中间状态,当需要的时候,可以恢复到这个状态。比如,我转载 2015-03-16 11:35:15 · 407 阅读 · 0 评论 -
23种设计模式(19):桥接模式
转载于:http://blog.csdn.net/whereusejava/article/details/7733296学习设计模式也有一段时间了,今天就把我整理的一篇课程和大家分享,有不妥之处欢迎指出. 生活中的一个例子: 就拿汽车在路上行驶的来说。即有小汽车又有公共汽车,它们都不但能在市区中的公路上行驶,也能在高速公路上行驶。这你会发现,对于交通工具(汽车)有不同的转载 2015-03-09 18:44:14 · 482 阅读 · 0 评论 -
23种设计模式(20):责任链模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38880931根据GOF95,责任链模式是一种对象的行为模式。 在责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链,请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求转载 2015-03-10 21:17:49 · 449 阅读 · 0 评论 -
23种设计模式(20):责任链模式(二)
转载于:http://blog.csdn.net/yudajun/article/details/39213427责任链是用来实现解耦合的软件设计,来自客户端的请求被传递到链条的对象来处理他们,然后在该链中的对象将自己决定谁将处理请求和是否需要请求发送给链中的下一个处理对象或没有下一个对象。让我们来看看责任链模式中的JDK的例子,然后我们将着手实现这一模式的例子。我们知道,我们转载 2015-03-10 21:37:14 · 441 阅读 · 0 评论 -
23种设计模式(10):观察者模式
资料摘自观察者模式:定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。举例,如报纸和杂志的订阅:1.报社的业务就是出版报纸2.向某家报社订阅报纸,只要他们有新报纸出版就会给你送来。只要你是他们的订户,你就会一直收到新报纸3.当你不想再看报纸的时候,取消订阅,他们就不会再送新报纸来4.只要报社还在运营,就会一直有人(或单位)向他原创 2015-01-13 11:02:12 · 465 阅读 · 0 评论 -
23种设计模式(11):命令模式在MVC框架中的应用
转载于:http://blog.csdn.net/wsh622827/article/details/4759368命令模式:定义:把一个请求或者操作封装在命令对象中。命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。Invoker类 被客户端调用,可以接受命令请求,设计命令队列,决定是否相应该请求,记录或撤转载 2015-01-28 22:39:30 · 2074 阅读 · 0 评论 -
设计模式六大原则(1):单一职责原则
转载于:http://blog.csdn.net/zhengzhb/article/details/7278174定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。问题由来:类T负责两个不同的职责:职责P1,职责P2。当由于职责P1需求发生改变而需要修改类T时,有可能会导致原本运行正常的职责P2功能发生故障。解决方案:遵循单一职责原则。分别建立两个类T1转载 2014-04-01 11:49:24 · 524 阅读 · 0 评论 -
23种设计模式(1):单例模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7331369定义:确保一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。类型:创建类模式类图:类图知识点:1.类图分为三部分,依次是类名、属性、方法2.以>结尾的为注释信息3.修饰符+代表public,-代表private,#代转载 2014-04-01 12:08:12 · 588 阅读 · 0 评论 -
23种设计模式的基本介绍
转载于:http://www.kuqin.com/design-patterns/20130309/334012.html创建型模式(Creational Pattern)1、 抽象工厂模式(Abstract Factory Pattern)介绍提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。2、 建造者模式(Builder Pattern)介绍转载 2014-04-01 11:12:41 · 590 阅读 · 0 评论 -
23种设计模式(2):工厂方法模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7348707定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类,工厂方法使一个类的实例化延迟到其子类。类型:创建类模式类图:工厂方法模式代码[java] view plaincopyinterfac转载 2014-04-01 13:16:12 · 551 阅读 · 0 评论 -
23种设计模式(3):抽象工厂模式
转载于:http://blog.csdn.net/zhengzhb/article/details/7359385定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类。类型:创建类模式类图:抽象工厂模式与工厂方法模式的区别 抽象工厂模式是工厂方法模式的升级版本,他用来创建一组相关或者相互依赖的对象。他与工厂方法模式的区转载 2014-04-04 19:54:29 · 586 阅读 · 0 评论 -
23种设计模式(7):装饰者模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38432915装饰者(Decorator)模式又叫包装模式,用组合的方式来拓展对象的功能,是继承关系的一个替代方案。定义说明:装饰者模式动态地将责任附加到对象上,若要扩展功能,装饰着提供了比继承更富有弹性的替代方案。 从实例中体会:转载 2014-11-26 10:21:50 · 457 阅读 · 0 评论 -
23种设计模式(4):建造者模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38418139简介: 建造者模式也叫做生成器模式,定义为:封装一个产品的构造过程,并且按此步骤构造。 建造者模式(生成器模式)属于创建类模式,和工厂模式相比,你会觉得有点类似,但是有区别之处。不过,建议在看下去之前,得明白三个工转载 2014-11-25 21:53:30 · 584 阅读 · 0 评论 -
23种设计模式(5):原型模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38422385原型模式属于对象的创建模式,通过给出一个原型对象来指明要创建对象的类型,然后用复制这个原型对象的办法来创建出更多的同类型的对象。就是给你一个现有的对象,你要得到和这个对象同类型的新对象,就将这个对象复制一下,就可以得到了。 Java对象的复制:转载 2014-11-25 21:55:51 · 473 阅读 · 0 评论 -
23种设计模式(6):适配器模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38429039介绍: 现实中适配器存在很多。就好像变压器,我想读这篇文章的你,很可能是一名学生(起码曾经是吧)。因为现在正好在宿舍写这篇blog。我所在的宿舍是会限电的,电压高了会跳闸,不能使用像电磁炉这样的设备,你懂的,大学里,偶尔宿舍成员在宿舍撮一转载 2014-11-25 22:18:00 · 766 阅读 · 0 评论 -
23种设计模式(8):组合模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38450003介绍: 想必你已经了解了数据结构中的树,ok,组合模式对于你就是一会儿的功夫了。组合模式相对来说比较简单。看一下定义 组合模式:将对象组合成树形结构以表示“部分-整体”的层次结构。使得用户对单个对象和组合对象的使用转载 2014-12-16 22:11:50 · 506 阅读 · 0 评论 -
23种设计模式(9):策略模式
转载于:http://blog.csdn.net/zhonghuan1992/article/details/38885923根据GOF95,策略模式是对象的行为模式,其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。 还记得简单工厂吗?简单工厂就是将创建对象那一块代码提取出来转载 2015-01-06 19:42:52 · 433 阅读 · 0 评论 -
23种设计模式(11):命令模式(Command Pattern)
转载于:http://www.cnblogs.com/devinzhang/archive/2012/01/06/2315235.html1.概念 将来自客户端的请求传入一个对象,从而使你可用不同的请求对客户进行参数化。用于“行为请求者”与“行为实现者”解耦,可实现二者之间的松耦合,以便适应变化。分离变化与不变的因素。 在面向对象的程序设计中,一个对象调用另一个对转载 2015-01-28 22:05:57 · 439 阅读 · 0 评论 -
23种设计模式(22):享元模式
转载于:http://www.cnblogs.com/zhenyulu/articles/55793.html一、 享元(Flyweight)模式Flyweight在拳击比赛中指最轻量级,即"蝇量级",有些作者翻译为"羽量级"。这里使用"享元模式"更能反映模式的用意。享元模式以共享的方式高效地支持大量的细粒度对象。享元对象能做到共享的关键是区分内蕴状态(Intern转载 2015-03-18 21:45:29 · 622 阅读 · 0 评论