设计模式之禅
zy1104560031
这个作者很懒,什么都没留下…
展开
-
设计模式之禅(里氏替换原则)2018-10-19
接口与抽象类的区别:适配器模式:使用不同接口的类所提供的服务为客户端提供它所期望的接口。实现:有一个 MediaPlayer 接口和一个实现了 MediaPlayer 接口的实体类 AudioPlayer。默认情况下,AudioPlayer 可以播放 mp3 格式的音频文件。我们还有另一个接口 AdvancedMediaPlayer 和实现了 AdvancedMediaPlayer...转载 2018-10-22 10:31:48 · 174 阅读 · 0 评论 -
享元模式
享元模式(Flyweight Pattern)是池技术的重要实现方式,其定义如下:Use sharing tosupport large numbers of fine-grained objects efficiently.(使用共享对象可有效地支持大量的细粒度的对象。)享元模式的定义为我们提出了两个要求:细粒度的对象和共享对象。我们知道分配太多的对象到应用程序中将有损程序的性能,同时还...转载 2018-10-31 14:02:44 · 129 阅读 · 0 评论 -
单例模式(1/23)
这样理解应该过更好一点:自从秦始皇确立了皇帝这个位置以后,同一时期基本上就只有一个人孤零零地坐在这个位置。这种情况下臣民们也好处理,大家叩拜、谈论的时候只要提及皇帝,每个人都知道指的是谁,而不用在皇帝前面加上特定的称呼,如张皇帝、李皇帝。这一个过程反应到设计领域就是,要求一个类只能生成一个对象(皇帝),所有对象对它的依赖都是相同的,因为只有一个对象,大家对它的脾气和习性都非常了解,建立...转载 2018-10-24 10:29:34 · 148 阅读 · 0 评论 -
状态模式
开门、关门、运行、停止。好,我们就用程序来实现一下电梯的动作,先看类图设计:package StateP;public interface ILift { //电梯的4个状态 public final static int OPENING_STATE = 1; //敞门状态 public final static int CLOSING_STATE = 2;...转载 2018-10-31 11:54:22 · 116 阅读 · 0 评论 -
责任链模式
中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父、既嫁从夫、夫死从子”。也就是说,一位女性在结婚之前要听从于父亲,结婚之后要听从于丈夫,如果丈夫死了还要听从于儿子。举例来说,如果一位女性要出去逛街,在她出嫁前必须征得父亲的同意,出嫁之后必须获得丈夫的许可,那丈夫死了怎么办?那就得问问儿子是否允许自己出去逛街。估计你接下来马上要问:“要是没有儿子怎么办?”那就请示小叔子、侄...转载 2018-10-29 19:32:46 · 228 阅读 · 0 评论 -
命令模式
package CommandP;public abstract class Group { public abstract void find (); public abstract void add (); public abstract void delete (); public abstract void change (); publi...转载 2018-10-29 16:42:55 · 155 阅读 · 0 评论 -
备忘录模式
大家有没有看过尼古拉斯·凯奇主演的《Next》(中文译名为《预见未来》)?尼古拉斯·凯奇饰演一个可以预视并且扭转未来的人,其中有一个情节很是让人心动——男女主角见面的那段情节:Cris Johnson(尼古拉斯·凯奇饰演)坐在咖啡吧台前,看着离自己近在咫尺的Callie Ferris(朱莉安·摩尔饰演),计划着怎么认识这个命中注定的女人,看Cris Johnson如何利用自己的特异功能:...转载 2018-10-31 09:54:09 · 190 阅读 · 0 评论 -
又见开闭原则
开闭原则是Java世界里最基础的设计原则,它指导我们如何建立一个稳定的、灵活的系统,先来看开闭原则的定义:Software entities like classes,modules and functions should be open for extension but closed formodifications.(一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。)我们做...转载 2018-10-23 19:33:42 · 240 阅读 · 0 评论 -
迪米特法则(最少知识原则(Least Knowledge Principle,LKP)
迪米特法则(Law of Demeter,LoD)也称为最少知识原则(Least KnowledgePrinciple,LKP),虽然名字不同,但描述的是同一个规则:一个对象应该对其他对象有最少的了解。通俗地讲,一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这么多public方法,我就调用这么多,其他的我一概...转载 2018-10-23 16:09:51 · 785 阅读 · 0 评论 -
接口隔离原则
依赖是可以传递的,A对象依赖B对象,B又依赖C,C又依赖D……生生不息,依赖不止,记住一点:只要做到抽象依赖,即使是多层的依赖传递也无所畏惧!接口隔离原则的定义:接口分为两种:● 实例接口(Object Interface),在Java中声明一个类,然后用new关键字产生一个实例,它是对一个类型的事物的描述,这是一种接口。比如你定义Person这个类,然后使用Person zhan...转载 2018-10-23 15:19:50 · 595 阅读 · 0 评论 -
依赖倒置原则(Dependence Inversion Principle,DIP)
依赖倒置原则(Dependence Inversion Principle,DIP)High level modules should not depend upon low level modules.Both should depend uponabstractions.Abstractions should not depend upon details.Details should ...原创 2018-10-23 13:59:34 · 397 阅读 · 1 评论 -
代理模式
我们把这段打游戏的过程系统化,非常简单的一个过程,如图package DaiLiP;public interface IGamePlayer { public void login(String user,String password); public void killboss(); public void upgrade();}package ...转载 2018-10-26 09:52:01 · 125 阅读 · 0 评论 -
简单工厂模式
继续以女娲造人为例吧。图二去掉了图一中的抽象类,同时把createHuman方法设置为静态类型,简化了类的创建过程,变更的源码仅仅是HumanFactory和NvWa类package FactoryP;public class HumanFoctory1 { public static <T extends Human> T createHuman(Class...转载 2018-10-25 15:13:25 · 132 阅读 · 0 评论 -
工厂模式
女娲造人的故事东汉《风俗通》记录了一则神话故事:“开天辟地,未有人民,女娲搏黄土做人”,讲述的内容就是大家非常熟悉的女娲造人的故事。开天辟地之初,大地上并没有生物,只有苍茫大地,纯粹而洁净的自然环境,寂静而又寂寞,于是女娲决定创造一个新物种(即人类)来增加世界的繁荣,怎么制造呢?别忘了女娲是神仙,没有办不到的事情,造人的过程是这样的:首先,女娲采集黄土捏成人的形状,然后放到八卦炉中烧制...转载 2018-10-25 14:07:59 · 136 阅读 · 0 评论 -
外观模式(门面模式)
写信的过程大家应该都还记得——先写信的内容,然后写信封,再把信放到信封中,封好,投递到信箱中进行邮递,这个过程还是比较简单的,虽然简单,但是这4个步骤都不可或缺!我们先把这个过程通过程序实现出来,如图package FacadeP;public interface ILetterProcess { //首先要写信的内容 public void writeCont...转载 2018-10-30 19:49:36 · 131 阅读 · 0 评论