美文网首页
观察者模式精髓

观察者模式精髓

作者: 理想是一盏灯 | 来源:发表于2018-07-19 19:11 被阅读11次

    应用场景

    一种对象状态改变,需要通知其他对象根据该状态做出相应的处理。比如,发布订阅,发布一个消息,所有订阅者都能收到,没有订阅则收不到。加入订阅即可收到。

    设计思想

    抽象出观察者的父类,所有具体的观察者实现观察者的抽象方法,该方法是对被观察者状态改变后做出具体处理的方法。然后抽象出一个被观察者父类,定义新增观察者,移出观察者,通知所有观察者的抽象方法。然后具体的被观察者实现该父类的方法,被观察者中只要注册了具体的观察者,则新增一个观察者引用。当被观察者状态发送变化时,可以通知所有注册的观察者,具体是通过调用观察者对象处理状态变化的方法实现的。

    事件驱动编程

    观察者模式中被观察者中有观察者,这就是说,他们是耦合的,就出现了一种发布订阅模式,发布者把消息发到管道,就不用管了,订阅者则从管道里面拿消息,只要从管道订阅就行,管道有一些中间件,比如MQ,KAFKA等,后面又出现了事件驱动编程这种理念。事件驱动编程中包含事件源,事件,事件消费者,事件管道。跟观察者模式,发布订阅模式很像

    相关文章

      网友评论

          本文标题:观察者模式精髓

          本文链接:https://www.haomeiwen.com/subject/eiqxmftx.html