JAVA SE——观察者模式

本文介绍了观察者模式的基本概念,包括其组成元素:被观察的目标对象(Subject)与观察者(Observer)。并分析了该模式的优点在于建立了抽象耦合,使得被观察者与观察者之间的依赖度降低。

设计模式:解决某些类似的效果模式。

 

观察者模式是java 23种设计模式中非常优秀的设计模式,它定义了一个一对多的依赖关系,让一个或多个观察者对象监察一个主题对象。这样一个主题对象在状态上的变化能够通知所有依赖与此对象的那些观察者对象,使这些观察者能够自动更新。

 



观察者模式中主要由两部分构成:

1.      被观察的目标对象(Subject):

特点:抽象类

(1)    以集合作为属性用来绑定观察者

(2)    编写一个方法用来添加观察者

(3)    编写一个方法通过遍历集合调取观察者的更新方法来实现通知效果

(4)    目标对象被观察事件的抽象方法

2.      观察者(Observer):

特点:接口

(1)    观察者的自定义属性

(2)    编写一个方法用来对被通知的事件的处理

 

观察者模式的优缺点分析:

1.      优点:观察者模式在被观察者和观察者之间建立一个抽象的耦合。被观察者角色所知道的只是一个具体观察者列表,每一个具体观察者都符合一个抽象观察者的接口。被观察者并不认识任何一个具体观察者,它只知道它们都有一个共同的接口。并且观察者和被观察的目标对象之间的耦合度不高。

2.      缺点:由于观察者的更新方法和被观察的目标对象的时间方法是上层接口和抽象方法的实现,所以方法上下的参数传递性不强。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值