实际的移动端引用backbone框架过于庞大,最近代码重构,为了实现MVC的基本功能而写了一个小型的框架,其中比较核心的内容,大概就是事件的注册触发机制,大致的实现就应用到了设计模式中观察者模式。ObserverPattern模型上图大概是观察者模式的基本构成,目标Subject,维护基本..
分类:
Web程序 时间:
2015-04-29 15:21:51
阅读次数:
162
一、什么是 RxJava?RxJava 是一个响应式编程框架,采用观察者设计模式。所以自然少不了 Observable 和 Subscriber 这两个东东了。RxJava 是一个开源项目,地址:https://github.com/ReactiveX/RxJava还有一个RxAndroid,用于 ...
分类:
编程语言 时间:
2015-04-26 19:44:54
阅读次数:
216
观察者模式观察者设计模式能够更便利创建和查看目标对象状态的对象,并且提供和核心对象非耦合的置顶功能性。观察者设计模式非常常用,在一般复杂的WEB系统中,观察者模式可以帮你减轻代码设计的压力,降低代码耦合。场景设计设计一个订单类订单创建完成后,会做各种动作,比如发送EMAIL,或者改变订单状态等等。原...
分类:
Web程序 时间:
2015-04-10 17:31:37
阅读次数:
152
观察者设计模式详解观察者设计模式详解
基本概念
NSNotificationCenter的使用
添加监听
接收消息
删除监视
KVO的使用
基本概念
注册观察者
观察者对象发生变化时的回调方法
remove观察者身份
代码实现基本概念观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己.而在IOS开发...
分类:
移动开发 时间:
2015-03-31 18:10:48
阅读次数:
209
观察者模式(Observer)完美的将观察者和被观察的对象分离开。举个例子,用户界面可以作为一个观察者,业务数据是被观察者,用户界面观察业务数据的变化,发现数据变化后,就显示在界面上。面向对象设计的一个原则是:系统中的每个类将重点放在某一个功能上,而不是其他方面。一个对象只做一件事情,并且将他做好。观察者模式在模块之间划定了清晰的界限,提高了应用程序的可维护性和重用性。
观察者设计模式定义了...
分类:
其他好文 时间:
2015-03-14 11:07:55
阅读次数:
166
原文链接:http://www.2cto.com/kf/201310/253013.html如果要想实现观察者模式,则必须依靠java.util包中提供的Observable类和Observer接口。12345678910111213141516171819202122232425262728293...
分类:
编程语言 时间:
2015-03-02 22:14:32
阅读次数:
263
本文简单介绍了设计模式中的观察者设计模式,分别介绍了推模型和拉模型两种观察者模式,相信您看了会有所帮助...
分类:
其他好文 时间:
2015-02-28 08:54:46
阅读次数:
116
一、简介观察者设计模式有如下四个角色抽象主题角色:把所有对观察者对象的引用保存在一个集合中,每个抽象主题角色都可以有任意数量的观察者。抽象主题提供一个接口,可以增加和删除观察者角色。一般用一个抽象类或接口来实现,也可以使用非抽象类来实现。具体主题角色:在具体主题内部状态改变时,给所有登记过的观察者发...
分类:
其他好文 时间:
2015-02-11 12:15:34
阅读次数:
131
观察者设计模式也叫做发布-订阅(Publish-Subscribe)模式。有点像杂志订阅的意思,你向杂志社订阅杂志,然后提供了自己的姓名和邮箱地址,这样杂志社就可以把你所订阅的杂志推送到你的邮箱了,而你收到的杂志都是你自己订阅的,不会不是你订阅的,这就是一个观察者模式的例子。订阅杂志的过程简单来说就是一个观察者(订阅者)向某个杂志社(发布者)订阅特定的杂志,其静态关系图如下所示...
分类:
其他好文 时间:
2015-01-23 09:34:13
阅读次数:
175
IOS开发中得观察者设计模式
观察者设计模式也叫做发布-订阅(Publish-Subscribe)模式。有点像杂志订阅的意思,你向杂志社订阅杂志,然后提供了自己的姓名和邮箱地址,这样杂志社就可以把你所订阅的杂志推送到你的邮箱了,而你收到的杂志都是你自己订阅的,不会不是你订阅的,这就是一个观察者模式的例子。订阅杂志的过程简单来说就是一个观察者(订阅者)向某个杂志社(发布者)订阅特定的杂志,...
分类:
其他好文 时间:
2015-01-22 23:26:49
阅读次数:
447