设计模式(Java)
文章平均质量分 79
heminjia888
这个作者很懒,什么都没留下…
展开
-
单例模式
单例模式,顾名思义,一个类最多只能有一个实例。 有几种方式的单例实现方式,下面开门见山,上代码。 懒汉单例 懒汉很懒,在你要调用获得对象实例的方法时候才创建。 public class LazySingleton { private static LazySingleton lazy; private LazySingleton(){} public static LazySing原创 2013-10-25 23:21:55 · 558 阅读 · 0 评论 -
设计模式---------享元模式
在很多情况下,我们都会用到许多相同或者相似的对象,如果我们为每个对象都创建一个实例就显得比较浪费。享元模式便可以用来解决这个问题。享元模式说的文雅,简单地解释就是“共享”的意思。打个比方说--------->在Word中输入一段文字,如abaaccad,对于这段文字a,c都是重复出现的字母,那么只需创建一个a与一个b对象然后记录对象的位置就可以,而不需要创建多个!! 享元模式的英文名是Flywe原创 2014-01-19 21:39:04 · 710 阅读 · 0 评论 -
设计模式之-----------------外观模式
外观模式的引文叫Facade模式,说实话,对于这个模式把Facade翻译成“外观”不大贴切,我觉得翻译成“门面”、“表面”更加好。 首先引入外观模式的情景------------>我们在实践中会遇到这样的情景:客户程序需要使用多个子系统,并且多数情况下需要这些子系统相互配合来完成一个特定的功能。最简单的实现就是客户端程序直接操作这些子系统,通过以一定逻辑调用这些子系统的来完成任务。但是,如果遇到原创 2014-02-14 23:48:22 · 622 阅读 · 0 评论 -
设计模式之----------原型模式(prototype)
在工厂方法中产生的对象都是以几乎相同的逻辑创建的。有的时候,我们在创建对象的初期并不明确对象创建所要包含的内容,但存在以创建好的对象。这时候,我们就可以使用原型模式,以创建好的对象为原型来创建新的对象。因为在对象之间具有较高相似性的情况下,使用原型模式可以简化创建过程。 原型模式的核心就是复制对象(克隆),在JAVA中类通过clone方法实现的。可以说,java中的clone机制就是对原型模式的原创 2014-02-03 20:30:29 · 609 阅读 · 0 评论 -
设计模式之--------建造者(builder)模式
先来引入一个情景:一个餐厅制作不同种类的汉堡包,这些汉堡包有由面包,肉,蔬菜,调料组成,每个汉堡的这些食材各不相同,有些制作顺序也有不同。但是当我们点餐时,我们不必关心这些汉堡的制作过程,我们只需告诉前台服务员要什么原创 2014-01-25 14:08:49 · 607 阅读 · 0 评论 -
设计模式--------观察者模式
说到观察者模式,读者可能有疑问。谁是观察者?观察谁?怎么观察?还是举一个例子来说明这个问题:在十字路口有一盏交通信号灯亮起红灯,有多辆汽车停在路口正在等待绿灯亮起。当绿灯亮起时,路口的汽车便开始启动。当红灯再次亮起时,后边的车开始减速停车。在这个例子里,信号灯是观察目标,车辆时观察者。 不过观察者模式与上面这个例子还有细微的一些差别。在观察者模式中,一旦观察目标发生变化,他就会发送消息给与它关联原创 2013-11-30 10:39:04 · 539 阅读 · 0 评论 -
设计模式-----------适配器模式
提到适配器,我们想到最多的是电源适配器。在不改变电厂电压和手机接收充电电压值的情况下,如何把220V的电压变化为手机能够接受的电压,这就需要用到适配器。 编程中同样存在这样的情况,比如现在我们有两个模块的代码,希望在不改变两个模块代码的情况下使它们两个能够协调工作,那就需要用到适配器来起到”桥梁“的作用。 适配器有两种:1、对象适配器:适配器与适配者(被适配的对象)之间是关联的关系 2、类适原创 2013-11-29 19:27:52 · 541 阅读 · 0 评论 -
设计模式之----------迭代器
说到迭代器就要从它的作用说起,我们使用迭代器实现对聚合对象的遍历,并且在遍历的过程中我们不需要知道聚合对象的内部实现。简而言之,迭代器是我们遍历聚合对象的工具,当我们需要遍历聚合对象时,只需要创建对应的迭代器即可! 特别要注意的一点是,java已经为其中的ArrayList等集合对象实现了迭代器。我们这里为了说明迭代器模式,不会直接使用这些迭代器。 一图胜千言,先上图! 迭代器的类图原创 2013-11-28 21:23:49 · 551 阅读 · 0 评论 -
设计模式之-------------组合模式
组合模式顾名思义就是将对象组合(一种递归组合),而对于用户来说,组合对象与普通对象的操作没有区别。举个例子形象点说:硬盘里的文件夹的组织方式就是组合模式,文件夹里可以包含文件与文件夹,文件夹里又可以包含文件夹。 组合模式是以后要讲的 装饰模式,组合的迭代器模式的基础,所以很重要。 当然,一图胜千言,上图!原创 2013-11-28 16:23:09 · 671 阅读 · 0 评论 -
设计模式之-----工厂模式
可以这么解释工厂模式:将创建对象的任务专职于一种类,用这种类来创建对象(产品对象),对于用户(要创建对象的人)来说,只要调用工厂类的相应方法便能得到所要的实例。 好处是隐藏了创建对象的细节。 说到工厂,有简单工厂模式,工厂模式,抽象工厂模式。 1简单工厂一语带过:通过传入参数来决定执行简单工厂类中的某条条new语句,并将获得的对象返回。(不属于23种设计模式) 2工厂模式:新增产品类型时,原创 2013-11-27 17:36:28 · 986 阅读 · 0 评论