摘要: 1、概述 为什么要把观察者模式和责任链模式放在一起对比呢?看起来这两个模式没有太多的相似性,真没有吗?回答是有。我们在观察者模式中也提到了触发链(也叫做观察者链)的问题,一个具体的角色既可以是观察者,也可以是被观察者,这样就形成了一个观察者链。这与责任链模式非常类似,它们都实现了事务的链条化处理,比 阅读全文
posted @ 2017-09-04 22:26 Memset 阅读(967) 评论(0) 推荐(0) 编辑
摘要: 1、概述 行为类设计模式中,状态模式和策略模式是亲兄弟,两者非常相似,我们先看看两者的通用类图,把两者放在一起比较一下。 策略模式(左)和状态模式(右)的通用类图。 两个类图非常相似,都是通过Context类封装一个具体的行为,都提供了一个封装的方法,是高扩展性的设计模式。但根据两者的定义,我们发现 阅读全文
posted @ 2017-09-04 21:38 Memset 阅读(952) 评论(0) 推荐(0) 编辑
摘要: 1、概述 命令模式和策略模式的类图确实很相似,只是命令模式多了一个接收者(Receiver)角色。它们虽然同为行为类模式,但是两者的区别还是很明显的。策略模式的意图是封装算法,它认为“算法”已经是一个完整的、不可拆分的原子业务(注意这里是原子业务,而不是原子对象),即其意图是让这些算法独立,并且可以 阅读全文
posted @ 2017-09-04 21:10 Memset 阅读(4974) 评论(0) 推荐(1) 编辑
摘要: 1、概述 装饰模式和适配器模式在通用类图上没有太多的相似点,差别比较大,但是它们的功能有相似的地方:都是包装作用,都是通过委托方式实现其功能。不同点是:装饰模式包装的是自己的兄弟类,隶属于同一个家族(相同接口或父类),适配器模式则修饰非血缘关系类,把一个非本家族的对象伪装成本家族的对象,注意是伪装, 阅读全文
posted @ 2017-09-04 20:42 Memset 阅读(624) 评论(0) 推荐(0) 编辑
摘要: 1、概述 对于两个模式,首先要说的是,装饰模式就是代理模式的一个特殊应用,两者的共同点是都具有相同的接口,不同点则是代理模式着重对代理过程的控制,而装饰模式则是对类的功能进行加强或减弱,它着重类的功能变化,我们举例来说明它们的区别。 2、代理模式 一个著名的短跑运动员有自己的代理人。如果你很仰慕他, 阅读全文
posted @ 2017-09-04 19:35 Memset 阅读(373) 评论(0) 推荐(0) 编辑