java 观察者模式_Java设计模式之观察者模式详解,文末附史上最细教程!

Java之设计模式

d5d8f60c7c7bc0cd2546d1eb7629b3d9.png

大家都知道Java里面最著名的设计模式有23种,最为人熟悉的莫过于工厂模式,

ec2c3e007edf65dac84a90b6f7086ac8.png

但是设计模式中的观察者模式却往往被人们给忽略了。殊不知观察者模式也是23中模式中占有举足轻重的地位。

这篇发文就是要给大家讲解下观察者模式,如果观察者模式使用得当,会使你的代码看上去简洁,工整,美观很多。

观察者模式前世今生:

JDK1.2后,Java对观察者模式进行了支持,并且提供了支持接口和实现类。

其中接口 java.util.Observer 用来指定观察者,之后,观察者必须实现 void update(Observable o, Object arg) 方法。

而 java.util.Observable 则用来指定观察物(被观察者或可被观察的事物),并且提供了一系列的方法。读者可以很轻易的使用这个接口和实现类来实现观察者模式。

观察者接口和实现类解释:

java.util.Observer 只有一个简单的方法 void update(Observable o, Object arg)

其中,参数 Observable o 用于指定触发 update 方法的对象, Object arg 用于指定触发 update 方法时候的附加参数。

如果开发过桌面应用,那么你应该很了解,这就好比是事件处理机制,其中 Observable o 可被看作事件源。 Object arg 可被看作一种消息。

观察者模式应用:

好记性不如烂笔头,下面我们看看具体该如何使用 这一模式,看过后想必大家会有一点感悟的。

1:新建被观察者类:

cfd36f404d5c4257389c4cf434cae599.png

2:新建观察者类:

29498752759bcb5194380ae42280522c.png

3:新建测试main方法:

ef8b56709d6dbe06fdf2df53cdb841c4.png

看到这里,我们期望的结果是不是应该会输出:

小伙伴们,我要出版新书啦!名字是:《平凡的世界》我要购买《平凡的世界》

4:运行main方法验证结果:

efa6a4f68f71846d8b851b6dd64a23cc.png

如我们所愿,结果输出正确,我们不禁思考,这种模式是不是也很有乐趣?要知道观察者模式刚被人们发觉时候rabbitmq还没有像现在这么流行。有没有一种收发消息与订阅消息的感觉?希望有兴趣的同学下去仔细思考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值