转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39804057 命令模式(Command):将"请求"(命令/口令)封装成一个对象,以便使用不同的请求.队列或者日志来參数化其对象. 命令模式也支持撤销操作.命令模式的目的就是达到命令的发出者和运行者之间解耦,实现请求和运行分开. 一.uml建模 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGh5X3ljdQ==/font/5a6L…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39721563 今天開始咱们来谈谈Java设计模式. 这里会结合uml图形来解说,有对uml建模不熟的能够參考我的还有一篇博文uml建模. 首先.个人认为模式的设计就是一个将变化的东西和不变(稳定)的东西分离的过程. 咱们的应用中可能有非常多须要改变的地方,而模式要做的就是把它们"抽取"出来并进行"封装"和"实现",因此很多其它的时候咱们是…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39805735 外观模式(Facade):是为了解决类与类之间的依赖关系的,像spring一样.能够将类与类之间的关系配置到配置文件里,而外观模式就是将他们的 关系放在一个Facade类中,减少了类与类之间的耦合度,该模式中没有涉及到接口. 一.uml建模: 二.代码实现: /** * 演示样例:外观模式,也称门面模式 * * 长处:为了解决类与类之间的依赖关系.减少了类与类之间的耦合度…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40008711 桥接模式(Bridge): 把事物和其详细实现分开(抽象化与实现化解耦),使他们能够各自独立的变化.如果你的电脑是双系统(WinXP.Win7).并且都安装了mysql.oracle.sqlserver.DB2这4种数据库,那么你有2*4种选择去连接数据库.按寻常的写法.咱要写2*4个类.可是使用了桥接模式,你仅仅需写2+4个类,能够看出桥接模式事实上就是一种将N*M转化成…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39806973 模板方法模式(Template Method):在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中.模板方法使得子类能够再不改变算法结构的情况下,又一次定义算法中的某些步骤.简而言之:模板方法定义了一个算法的步骤.并同意子类为一个或多个步骤提供实现. 一.uml建模: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGh5…
Command模式是最让我疑惑的一个模式,我在阅读了很多代码后,才感觉隐约掌握其大概原理,我认为理解设计模式最主要是掌握起原理构造,这样才对自己实际编程有指导作用.Command模式实际上不是个很具体,规定很多的模式,正是这个灵活性,让人有些confuse. Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装成在一个类中,然后用户(调用者)再对这个类进行操作,这就是Command模式,换句…
[命令模式]将"请求"封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象,命令模式也支持可撤销的操作. 1,定义命令接口 package com.pattern.command; public interface Command { public void execute(); } 2,接口的实现类 package com.pattern.command; public class LightOnCommand implements Command{ Light light;…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39856435 代理模式(Proxy):代理模式事实上就是多一个代理类出来,替原对象进行一些操作.比方咱有的时候打官司须要请律师,由于律师在法律方面有专长,能够替咱进行操作表达咱的想法,这就是代理的意思.代理模式分为两类:1.静态代理(不使用jdk里面的方法):2.动态代理(使用jdk里面的InvocationHandler和Proxy).以下请看演示样例: 一.静态代理 1.uml建模:…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39829859 状态模式(State):同意对象在内部状态改变时改变它的行为,对象看起来好像改动了它的类.状态模式说白了就是一个对象有不同的状态.不同的状态相应不同的行为.它事实上是对switch case这种语句的拓展. 一.uml建模: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGh5X3ljdQ==/font/5a6L5L2T/fon…
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39863125 建造者模式(Builder):工厂类模式提供的是创建单个类的模式.而建造者模式则是将各种产品集中起来进行管理. 简单起见,就拿之前的工厂方法模式进行改动一下就能够得到建造者模式. 一.uml建模: 二.代码实现 /** * 演示样例:建造者模式 * * 与工厂模式的差别:工厂类模式提供的是创建单个类.而建造者模式则是将各种产品集中起来进行管理 */ interface Se…