javascript---设计模式之观察者模式

H小白      2022-02-17     449

关键词:

概念

观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。

作用

  1. 支持简单的广播通信,自动通知所有已经订阅过的对象
  2. 页面载入后目标对象很容易与观察者存在一种动态关联,增加了灵活性
  3. 目标对象与观察者之间的抽象耦合关系能够单独扩展以及重用

注意事项

监听要在触发之前

<script type="text/javascript">
    (function () {
        var o = $({});
        $.jianting = function () {
            o.on.apply(o, arguments);
        }
        $.fabu = function () {
            o.trigger.apply(o, arguments);
        }
        $.qingchu = function () {
            o.off.apply(o,arguments);
        }
    })();
    $.jianting(‘/test/ls‘, function (e,a,b,c) {
        alert(a+"||"+b+"||"+c+"||");
    });
    $.jianting(‘/test/ls‘, function (e,a,b,c) {
        alert(‘ok‘);
    });
    setTimeout(function () {
        $.fabu(‘/test/ls‘, [1,2,3]);
    }, 1000);
</script>

 

javascript设计模式--行为型--设计模式之observer观察者模式(19)(代码片段)

         JAVASCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVASCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVASCRIPT代码,代码只是实现了... 查看详情

javascript设计模式--行为型--设计模式之observer观察者模式(19)(代码片段)

         JAVASCRIPT设计模式是本人根据GOF的设计模式写的博客记录。使用JAVASCRIPT语言来实现主体功能,所以不可能像C++,JAVA等面向对象语言一样严谨,大部分程序都附上了JAVASCRIPT代码,代码只是实现了... 查看详情

设计模式之观察者模式

先看看维基定义:Theobserverpatternisasoftewaredesugnpatterninwhichanobject,calledthesubject,maintainsalistofitsdependents,calledobservers,andnotifesthemautomaticallyofanystatechanges,usuallybycallingoneofthei 查看详情

设计模式之观察者模式

设计模式之观察者模式一、什么事观察者模式  如:有A,B连个独立的对象,其中B想时时知道A中的变化,以便做出相应的相应或对策。这就是观察者模式  A为被观察者,B为观察者。A、B同时均可以为被观察者。  观察者和... 查看详情

设计模式之观察者模式

杨哥说观察者设计模式,通俗易懂,只要看图和例子即可。//通知者接口packageguanchazhe_designmode;//抽象观察者publicabstract classObserver{protectedStringname;  protectedSubjectsub;   publicObserver(Stringname,S 查看详情

javascript学习之事件

...事件发生时,处理程序中的代码得到执行(这种模型对应设计模式中的观察者模式)。1.2事件流  事件流描述的是从页面接受事件的顺序。2事件流2.1事件冒泡  IE事件流叫做事件冒泡,即事件开始由最具体的元素接受,然后... 查看详情

戏说模式之:观察者模式(三体)

...View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现... 查看详情

设计模式之观察者模式

...View)模式、源-收听者(Listener)模式或从属者模式)是软件设计模式的一种。在此种模式中,一个目标物件管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现... 查看详情

设计模式之观察者模式

一、背景  随着工作时间的越来越长,发现对设计模式缺失的坏处越来越明显,但是当你知道某种设计模式的实现方式以后,你会发现,其实工作中早已经玩过这些东西,但是你之前并不知道它属于设计模式的一种,今天就先... 查看详情

常用设计模式之观察者模式+事件委托

常用设计模式之观察者模式+事件委托作用及UML(摘自《大话设计模式》) Code1abstractclassSubject{2protectedStringstate;3publicvoidsetState(Stringstate){this.state=state;}4publicStringgetState(){returnthis.state;}56privateList<O 查看详情

设计模式之--观察者模式

 被观察者:/***购物车(被观察的对象,购物车添加了商品及时通知处理)*Createdbyyouaijjon2018/5/12.*/publicclassShoppingCartextendsObservableprivateList<Product>productList=newArrayList<Product>();;publicShoppingCart 查看详情

设计模式之观察者模式

1、类图观察者模式结构:实例类图 2、创建项目…………………………3、 AllyControlCenter:指挥部(战队控制中心)类,充当抽象目标类 usingSystem;usingSystem.Collections.Generic; namespaceObserverSample{    abstract... 查看详情

23种设计模式之观察者模式

观察者模式(Observer):定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。  查看详情

大话设计模式之观察者模式

观察者模式  定义了一种一对多的依赖关系,让多个观察者对象去监听某一个主题对象,这个主题对象在状态发生变化时,会通知所有观察者对象,使他们能够自动更新自己。下面通过代码去探索观察者模式的奥秘:通过面向... 查看详情

java设计模式之观察者模式

    观察者模式是对象的行为模式,又叫做发布-订阅-模式、模型-视图-模式、源-监听器-模式或者从属者模式。观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象... 查看详情

设计模式之观察者模式

观察者模式:定义对象之间的一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自己更新自己。 publicabstractclassComponent{privateList<Obse... 查看详情

设计模式之观察者模式

观察者模式:在对象之间定义一对多的依赖。这样一来当一个对象改变状态,依赖他的对象都会收到通知并自动更新。我觉得:观察者模式的关键在于使用统一定义的接口。通过接口来操作对象。观察者/被观察者分别通过接口... 查看详情

设计模式之二:观察者模式(observerpattern)

先看下观察者模式的定义:      TheObserverPatterndefinesaone-to-manydenpendencybetweenobjectssothatwhenoneobjectchangesstate,allofitsdependentsarenotifiedandupdatedautomatically.:观察者模 查看详情