前言:【模式总览】——————————by xingoo 模式意图 观察者模式,也叫发布/订阅模式,从名字来说就能察觉到它的过程应该是,发布——其他人接受。 这个模式定义了对象之间的一种依赖关系,当一个对象发生变化时,其他的对象收到更新,也发生变化。 模拟我们订阅邮件这个场景,不管我们的...
分类:
其他好文 时间:
2014-11-09 12:28:08
阅读次数:
310
Android Telephony源码中用到了大量的观察者模式,理解观察者模式,有助于我们阅读源码。...
分类:
移动开发 时间:
2014-11-08 12:05:51
阅读次数:
210
tomcat的server组件由StanderServer实现,它实现了Server接口。
StanderServer的代码量很少,但这里并不能单单来讲StanderServer。tomcat的各个组件都实现了表示生命周期的接口Lifecycle,
但是各个组件并不是直接实现了该接口,而是继承了实现该接口的抽象类。tomcat在设计各个组件时采用了模板模式和观察者模式。
所以看Stander...
分类:
其他好文 时间:
2014-11-07 19:09:51
阅读次数:
139
假设有一个软件公司,每当有新产品推出,就把信息通知到一些客户。把通知这个动作抽象成一个接口。 public interface IService { void Notif(); }客户如果想获得通知,就需要实现以上的接口。这里的客户被看作是观察者。 public...
分类:
其他好文 时间:
2014-11-07 14:43:52
阅读次数:
141
Spring对事件有一些支持,由于项目需要,所以最近小小研究了下到底这个怎么可以方便的用在实际项目当中来。
说起事件这个东西,其实就是借鉴的那个观察者模式。这里面涉及到事件源、事件监听者、事件发布者三个概念。
事件就是当我们修改一些数据之后,可能需要把这些修改后的数据告诉其他模块或者业务,使用事件后,当我修改了数据后,会发布一个事件。
那些关心我数据变化的,只需要继承BasicService并且事件源和我的一样,他就会收到这个事件的通知。这个,有个弊端就是多个事件源的时候,怎么通知。...
分类:
编程语言 时间:
2014-11-06 22:06:09
阅读次数:
228
创建型: 2 个 (工厂模式, 单例模式)结构型: 6 个 (适配器模式, 组合模式, 装饰者模式, 代理模式, 外观模式, 桥梁模式)行为型: 8 个 (中介者模式, 策略模式, 模板模式, 观察者模式, 迭代器模式, 责任链模式, 命令模式, 状态模式)1. 工厂模式提供一个创建类的统一接口.目...
分类:
其他好文 时间:
2014-11-06 16:40:34
阅读次数:
244
观察者模式,是一种非常常见的设计模式,在很多系统中随处可见,尤其是涉及到数据状态发生变化需要通知的情况下。本文以AbstractCursor为例子,展开分析。观察者模式,Observer Pattern,是一个很实用的模式,本人曾经接触到的各种平台以及曾经参与项目中打印模板解释器中都用到了此模式。1...
分类:
移动开发 时间:
2014-11-06 12:50:51
阅读次数:
329
12{《HeadFirst设计模式》之观察者模式}3{主题与观察者}4{编译工具:Delphi7.0}5{联系方式:guzh-0417@163.com}67unituWeatherReport;89interface1011uses12Classes,SysUtils;1314type15TObse...
观察者模式(Observer)也叫发布/订阅模式(Publish/Subscribe)
- 问题:
在软件设计中,经常需要对一个对象的状态改变,从而引起很多对象的状态发生改变。这个特点很明显,复用性强,而且对象之间匿名通信。观察者模式最为适合。
- 原理:
举个例子:
包括四个角色:
1、抽象主题(subject)。是个协议,是一个观察者集合容器,定义了添加,移除和对所有观察者发送通知...
分类:
移动开发 时间:
2014-11-05 00:29:59
阅读次数:
193
IOS常用的设计模式包括:单例模式、委托模式、观察者模式和MVC模式。
这里主要讲单例模式
单例模式
-问题: 主要解决应用中只有一个实例的问题(只需要某个类的实例)
-原理:一般会封装一个静态属性,并提供静态实例的创建方法
-应用:单例类
// Singleton.h
@interface Singleton : NSObject
+ (Singleton *)sharedM...
分类:
移动开发 时间:
2014-11-04 19:41:41
阅读次数:
177