博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[日更-2019.4.19] Java的设计模式(4)-观察者模式
阅读量:6095 次
发布时间:2019-06-20

本文共 756 字,大约阅读时间需要 2 分钟。

hot3.png

声明

  • 身为程序猿要 Keep Learning;
  • 设计模式是前人总结的经验,它的本质目的是使软件工程在维护性、扩展性、变化性、复杂度方面变成O(N);
  • 那么我了解多少种Java的设计模式呢?这是一个简单的问题,但是它的答案却不简单,我准备业余时间写一个系列(Java的设计模式),作为记录及分享;

1 什么是观察者模式

    Observer模式是行为模式之一,它的作用是当一个对象的状态发生变化时,能够自动通知其他关联对象,自动刷新对象状态。Observer模式提供给关联对象一种同步通信的手段,使某个对象与依赖它的其他对象之间保持状态同步。

2 观察者模式的结构

3 观察者模式的角色和职责

  1. Subject(被观察者):被观察的对象。当需要被观察的状态发生变化时,需要通知队列中所有观察者对象。Subject需要维持(添加,删除,通知)一个观察者对象的队列列表;
  2. ConcreteSubject:被观察者的具体实现。包含一些基本的属性状态及其他操作;
  3. Observer(观察者):接口或抽象类。当Subject的状态发生变化时,Observer对象将通过一个callback函数得到通知;
  4. ConcreteObserver:观察者的具体实现。得到通知后将完成一些具体的业务逻辑处理;

4 观察者模式的典型应用

  • 侦听事件驱动程序设计中的外部事件;
  • 侦听/监视某个对象的状态变化;
  • 发布者/订阅者(publisher/subscriber)模型中,当一个外部事件(新的产品,消息的出现等等)被触发时,通知邮件列表中的订阅者;

5 See the Code

    我的码云代码路径:

Enjoy it !!

转载于:https://my.oschina.net/XiaoMaPedro/blog/3040510

你可能感兴趣的文章
Excel使用VLOOKUP合并工作表
查看>>
Citrix PVS 7.11新增功能
查看>>
WebGrid Enterprise免费下载
查看>>
RSTP快速生成树协议
查看>>
tomcat 优化
查看>>
https加密
查看>>
异步化
查看>>
Day5-HTML基本语法之颜色的设置
查看>>
TurboMail邮件系统邮件安全解决方案
查看>>
Nginx + varnish 构建高可用CDN节点集群
查看>>
线程池中你不容错过的一些细节
查看>>
我的友情链接
查看>>
java URL使用
查看>>
swift之附属脚本
查看>>
Linux nexus 私服搭建
查看>>
Angular SEO
查看>>
简单iptables规则设置
查看>>
我的友情链接
查看>>
Loadrunner11-关联
查看>>
常用端口号大全
查看>>