<P style=‘font: 14px/22px "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif; margin: 0px; padding: 0px; color: rgb(80, 62, 44); text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; white-space: normal; orphans: 2; widows: 2; font-size-adjust: none; font-stretch: normal; background-color: rgb(255, 255, 255); -webkit-text-stroke-width: 0px; -webkit-text-size-adj...
观察者模式观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性。观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码耦合。场景设计设计一个订单类订单创建完成后,会做各种动作,比如发送EMAIL,或者改变订单状态等等。原始的方法,是将这些操作都写在create函数里面但是随着订单创建类的越来越庞大,这样的操作已经无法满足需求和快速变...
1、javascript灵活语言方式一、function checkName() { }
function checkEmail()) { }
function checkPassword() { } 方式二、var checkName=function(){}
var checkEmail=function(){}
var checkPasswork=function(){}方式1一和方式二都是全局作用域变量,方式二能直观说名在javascript中函数也是变量,只是定义时位置不同而已 2、用对象收编变量方式一、var checkObject={checkName:function(){},checkEmail:function(){},checkP...
1. 简介责任链模式:使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止。2. 图解商城新开张,每个订单,可以享受多张优惠券叠加减免责任链模式3. 案例实现类图如下定义一个优惠券打折抽象类;抽象类包含一个指向自身的引用nextDiscountFilter,用来把对象串成链,原价计算优惠后的价格方法calculateBySourcePrice;实现类FullDistcou...
1.1定义 当一个抽象可能有多个实现时,通常用继承来进行协调。抽象类定义对该抽象的接口,而具体的子类则用不同的方式加以实现。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。 如果一个抽象类或接口有多个具体实现子类,而这些子类之中有内容或概念上重叠,需要我们把抽象的共同部分各自独立开来:即原来是准备放在一个接口里,现在需要设计两个接口——抽象接口和行...
什么是组合模式组合模式用途参考文档gzip的优点和缺点什么是组合模式组合模式(Composite Pattern)将对象组合成树形结构以表示“部分-整体”的层次结构,组合模式使得用户对单个对象和组合对象的使用具有一致性。组合模式用途部分/整体场景,如树形菜单; 文件/文件夹; 树形结构的公司层级关系。参考文档【设计模式】组合模式百度百科-组合模式原文:https://www.cnblogs.com/Andres/p/9771084.html
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39760895工厂方法模式(Factory Method)工厂方法:顾名思义,就是调用工厂里的方法来生产对象(产品)的。
工厂方法实现方式有3种:一、普通工厂模式。就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建。
1、uml建模图:
2、代码实现/*** 演示样例(一):普通工厂方法* * 缺点:假设传递的字符串出错,则不能正确创建对象*/
interface Sender {public voi...
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40028509
访问者模式(Visitor):把数据结构和作用于结构上的操作解耦合,使得操作集合可相对自由地演化。访问者模式适用于数据结构相对稳定而算法又容易变化的系统。访问者模式的优点是增加操作很容易,因为增加操作意味着增加新的访问者;而它的缺点就是增加新的数据结构很困难。一、uml建模:二、代码实现/*** 访问者模式(Visitor):把数据结构和作用于结构上的操...
命令模式 1 使用场景 1. 命令的发送者和命令执行者有不同的生命周期。命令发送了并不是立即执行。 2. 命令需要进行各种管理逻辑。 3. 需要支持撤消\重做操作(撤销命令)。 2 角色 2.1 client 1、创建具体的命令 2、设置命令的接受者 2.2 Command 1 定义命令的统一接口 2 command为所有命令声明了一个借口,调用命令对象的excute方法,就可以让接受者进行相关的操作 3 这个接口也具备撤销的方...
单例模式,可以说是GOF的23种设计模式中最简单的一个。这个模式相对于其他几个模式比较独立,它只负责控制自己的实例化数量单一(而不是考虑为用户产生什么样的实例),很有意思,是一个感觉上很干净的模式,本人很喜欢这个模式。android中很多地方都用到了单例模式,本文以输入法管理者InputMethodManager为例,展开分析。单例模式,Singleton Pattern,能够以其特有的优势,替代系统中全局变量,应用非常广泛。1.意图保证一个类仅有...
1.单例模式
应用实例:1.一个党只能有一个主席.2.Windows是多进程多线程的,在操作一个文件的时候,就不可避免地出现多个进程或线程同时操作一个文件的现象,所以所有文件的处理必须通过唯一的实例来进行。3.一些设备管理器常常设计为单例模式,比如一个电脑有两台打印机,在输出的时候就要处理不能两台打印机打印同一个文件。
2.工厂模式
应用实例:1.你需要一辆汽车,你可以直接从工厂里面提货,而不用去管这辆汽车是怎么做出来的...
介绍
职责链模式(Chain of responsibility)是使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系。将这个对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理他为止。
也就是说,请求以后,从第一个对象开始,链中收到请求的对象要么亲自处理它,要么转发给链中的下一个候选者。提交请求的对象并不明确知道哪一个对象将会处理它——也就是该请求有一个隐式的接受者(implicit receiver)。根据运...
【注】本文还有待修改,现在只提供源码 和 简单分析,后续会做详细说明1.为什么要使用抽象工厂,一个案例告诉你,对照下面这张图,来看案例问题:1.UI展示有时候,需要调用业务A,有时候要调用业务B 2.而业务A,可能使用了MSSQL数据库,也有可能使用了Oracle数据库 3.不管MSSQL数据层,还是Oracle数据层,他们用到的实体都是一样,且数据库需要的方法也类似 分析并解决1.首先,我们肯定需要一个数据层,那么这个...
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/39755577观察者(Observer)模式定义:在对象之间定义了一对多的依赖关系,这样一来。当一个对象改变状态时,依赖它的对象都会收到通知并自己主动跟新。Java已经提供了对观察者Observer模式的默认实现,Java对观察者模式的支持主要体如今Observable类和Observer接口。先看uml模型图:一、UML模型图二、代码实现/** 演示样例:咱们去菜市场买菜* * 小商贩--主题*/
clas...
转载请注明出处:http://blog.csdn.net/lhy_ycu/article/details/40018231
责任链模式(ChainOfResponsibility): 有多个对象,每一个对象持有下一个对象的引用,形成一条链。请求在这条链上传递。直到某一对象决定处理该请求,可是发出者并不清楚终于哪个对象会处理该请求。一、uml建模:二、代码实现/*** 责任链模式:有多个对象。每一个对象持有下一个对象的引用,形成一条链,* * 请求在这条链上传递,直到某一对象决定处理该请...