学习日记之观察者模式

观察者模式(公布-订阅 Publish/Subscribe 模式):定义了一种一对多的依赖关系。让多个观察者对象同事监听某一个主体对象。这个主体对象在状态发生变化时,会通知全部观察者对象。使他们可以自己主动更新自己。


1:观察者模式特点

(1),将一个系统切割成一系列相互协作的类有一个非常不好的副作用。那就是须要维护相关对象间的一致性。

我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。

(2),当一个对象改变须要同一时候改变其它对象的时候,并且它不知道详细有多少对象须要改变时。使用观察者模式。

(3),当一个抽象模型有两个方面,当中一个方面依赖于还有一个方面,这时用观察者模式能够将这两者封装在独立的对象中使他们各自独立的改变和复用。

(4)。观察者模式所做的工作事实上就是解除耦合。

让耦合的两方都依赖与抽象,而不是依赖于详细。从而使得各自的变化都不会影响还有一边的变化。


2:解决观察者模式缺陷

(1),托付就是一种引用方法的类型。

一旦为托付分配了方法。托付将与该方法具有全然同样的行为。托付方法的使用能够像其它不论什么方法一样,具有參数和返回值。托付能够看做是对函数的抽象,是函数的‘类’。托付的实例将代表一个详细的函数。

(2),一个托付能够搭载多个方法,所以方法依次被唤醒。更重要的。托付所搭载的方法并不一定属于同一个类。

(3),托付所搭载的所以方法必须具有同样的原型和形式,也就是拥有同样的參数列表和返回值类型。

posted on 2017-07-22 08:36 mthoutai 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/mthoutai/p/7220260.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值