设计模式
文章平均质量分 78
ivokky
这个作者很懒,什么都没留下…
展开
-
适配器模式
1.什么是适配器模式适配器模式把一个类的接口转换成客户端所期待的另一种接口,从而使得原来因接口不匹配而无法在一起工作的两个类能够在一起工作。或者说适配器模式主要用于希望复用一些现存的类,但是接口又与复用环境要求不一致。用电器做例子,笔记本电脑的插头一般都是三相的,即除了阳极、阴极外,还有一个地极。而有些地方的电源插座却只有两极,没有地极。电源插座与笔记本电脑的电源插头不匹配使得笔记本电原创 2013-06-12 16:24:32 · 980 阅读 · 0 评论 -
单例模式
什么是单例模式?单例模式(Singleton),保证一个类仅有一个实例,并提供一个访问它的全局访问点。通常我们可以让一个全局变量使得一个对象被访问,但它不能防止你实例化多个对象,一个最好的办法是,让类自身负责保存它的唯一实例。这个类可以保证没有其它实例可以被创建,并且它可以提供一个访问该实例的方法。单例模式解决了什么问题?1.全局访问:外界不能通过new来实例化该变量,但是我们又要原创 2013-06-04 10:27:06 · 509 阅读 · 0 评论 -
观察者模式
1.什么是观察者模式观察者模式定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象,这样一个主题对象在状态上的变化就能够通知所有的依赖于此对象的那些观察者对象,使这些对象能够自动更新。2.观察者模式中的角色①抽象主题(Subject)角色:维护了一个由观察者对象组成的聚集(如一个ArrayList),每个主题角色可以有任意个观察者,同时,主题角色提供增加和删除观察者对象的原创 2013-06-14 10:05:27 · 741 阅读 · 0 评论 -
策略模式
1.什么是策略模式策略模式属于对象行为模式,其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使它们可以相互替换。2.策略模式的结构策略模式是对算法的包装,把使用算法的责任和算法本身分开,委派给不同的对象管理。环境(Context)角色:持有一个Strategy引用;抽象角色(Strategy)对象:抽象角色,由一个抽象类或借口实现,它指出所有的具体原创 2013-06-19 11:38:13 · 861 阅读 · 0 评论 -
JAVA I/O与设计模式
一、简单介绍JAVA I/OJAVA采用流的机制来实现输入/输出,流就是数据的有序排列,而流可以是从某个源(称为流源或Source of Stream)出来,到某个目的地(称为流汇或Sink of Stream)去的。由流的方向,可以分成输入流和输出流,一个程序从输入流读取数据向输出流写数据。如,一个程序可以用FileInputStream类从一个磁盘文件读取数据,如下图所示:转载 2013-06-26 21:13:51 · 1071 阅读 · 0 评论 -
工厂模式
程序的几个重要特性:可维护性、可复用性、灵活性、可扩展性、1.简单工厂模式以一个计算器程序为例,我们来分析,代码如下:Operation类:class Operation{ public double numberOne; public double numberTwo; private String oper; public double getResult(){原创 2013-06-05 16:40:44 · 597 阅读 · 0 评论 -
代理模式
1.什么是代理模式代理模式(Proxy)为另一个对象提供一个替身或占位符以控制该对象的访问(Provide asurrogate or placeholder for another object to control access to it),简而言之就是用一个对象来代表另一个对象。2.代理模式的作用为其它对象提供一种代理来控制该对象的访问,在某些情况下,一个客户不想或不可以直原创 2013-06-11 17:40:31 · 606 阅读 · 0 评论 -
装饰模式
1.什么是装饰模式装饰模式又称为包装(Wrapper)模式,装饰模式以客户端透明的方式扩展对象的功能,是继承关系的一个替代方案。特点:扩展特定对象的功能,不是扩展某个类的功能;不需要子类,防止由于子类带来的复杂和混乱;对于一个给定对象,同时可能有不同的装饰对象,客户端可以通过它的需要选择合适的装饰对象。2.装饰模式的结构装饰模式以对客户端透明的方式为某个对象动态的附加更多功能,换言原创 2013-06-13 07:52:43 · 1216 阅读 · 0 评论