当对象间存在一对多关系时,则使用观察者模式(ObserverPattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。观察者模式为您提供了避免组件之间紧密耦合的另一种方法。一个对象通过添加一个方法(该方法允许另一个对象(即观察者)注册..
分类:
其他好文 时间:
2016-06-22 06:56:55
阅读次数:
209
1、概念(百科)观察者模式(有时又被称为发布(publish)-订阅(Subscribe)模式、模型-视图(View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这..
分类:
其他好文 时间:
2016-06-21 11:06:38
阅读次数:
154
什么是事件流
javaScript与HTML之间的交互是通过事件实现的。事件,就是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用侦听器(或处理程序)来预订事件,以便事件发生时执行相应的代码。这种模型使用了我们的观察者模式,支持页面的行为(JS代码)与页面的外观(HTML,CSS)之间的松散耦合。当浏览器发展到第四代时,IE和Netscape开发团队使用了两个完全相反的事件流概念,IE的事件...
分类:
编程语言 时间:
2016-06-19 18:34:21
阅读次数:
156
概述 观察者模式是使用频率最高的设计模式之一,它用于建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应作出反应。在观察者模式中,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间可以没有任何相互联系,可以根据需 ...
分类:
其他好文 时间:
2016-06-19 16:52:39
阅读次数:
173
观察者模式定义了对象之间的一对多的依赖,这样一来,当一个对象的状态发生改变的时候,它的所有依赖者都会收到通知,并且进行更新. 被观测的对象称为主题(Subject),观察被观测的对象的对象称为观察者(Observer). 现实中的观察者模式:例如报纸的订阅.不同人(Observer)向报社(Subj ...
分类:
其他好文 时间:
2016-06-18 18:17:43
阅读次数:
120
模式:观察者模式又叫发布-订阅模式,即由单一发布源发出状态变化通知,订阅该变化的对象进行响应。 故事:最近工作中涉及到一个任务,界面上若干控件需要根据用户所处的状态来改变可用性,或进行相关的属性变化,对这个模型进行简化抽象就是一个观察者模式的经典适用场景。 类图如下: 时序图如下: 下面是对应的实现 ...
分类:
其他好文 时间:
2016-06-18 12:58:31
阅读次数:
223
观察者模式意图解决一对多的依赖关系情形中,当被依赖对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新的问题。举个很简单的例子说,假如一个游戏中的角色的某个属性状态发生了变化,此处不妨假设为角色的等级升级了,则相应的在游戏场景中的模型展现([依赖点1])需要跟着调整,并且在UI界面上的角色 ...
分类:
其他好文 时间:
2016-06-17 00:32:38
阅读次数:
249
一、设计模式的分类
总体来说设计模式分为三大类:
创建型模式,共五种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
结构型模式,共七种:适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。
行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式...
分类:
其他好文 时间:
2016-06-16 14:45:14
阅读次数:
176
1. 概述 有时被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 2. 解决的问题 将一个系统分割成一个一些类相互协作的类有一个不好的副作用,那就是需要维护相关对象间的一致 ...
分类:
其他好文 时间:
2016-06-16 10:33:10
阅读次数:
178
现在有两派,有的人建议使用设计模式,有的人不建议使用设计模式!这就向写文章一样,有的人喜欢文章按照套路走,比如叙事性质的文章,时间,地点,人物,事件。而有的人喜欢写杂文或者散文,有的人喜欢写诗词!现在写代码很多地方类似于写文章,但是在有些地方比写文章需要更多的技能!写文章写多了一般也能写出优秀的文章 ...
分类:
Web程序 时间:
2016-06-15 10:41:46
阅读次数:
195