博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
23种设计模式-观察者模式
阅读量:5899 次
发布时间:2019-06-19

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

观察者模式(Observer),又叫发布-订阅(Publish/Subscribe)模式,定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态发生变化时,会通知所有的观察者对象,使它们能够自动更新自己。

使用场景:

  将一个系统分割成一系列互相协作的类有一个很不好的副作用,那就是需要维护相关对象间的一致性。我们不希望为了维持一致性而使各类紧密耦合,这样会给维护、扩展和重用都带来不便。所以当一个对象的改变需要同时改变其他对象,而且它不知道具体有多少对象有待改变时,应该考虑使用观察者模式。

观察者模式所做的工作其实就是在解除耦合。让耦合的双方都依赖于抽象,而不是依赖于具体,从而使得各自的变化都不会影响另外一边的变化。

事件与委托

委托就是一种引用方法的类型。一旦为委托分配了方法,委托将与该方法具有完全相同的行为。委托方法的使用可以像其他任何方法一样,具有参数和返回值。委托可以看作是对函数的抽象,是函数的‘类’,委托的实例将代表一个具体的函数。

一个委托可以搭载多个方法,所有方法被一次唤起。并且所搭载的方法并不需要属于同一个类,但是必须具有相同的原形和形式,也就是拥有相同的参数列表和返回值类型。

 

转载于:https://www.cnblogs.com/tingqianzhu/p/8494378.html

你可能感兴趣的文章
WIN32_FIND_DATA 循环获取文件大小BUG
查看>>
GIT用服务器上的版本强制覆盖掉本地的版本(转)
查看>>
jQuery实现鼠标经过图片预览大图效果
查看>>
Linux编辑器的选择使用
查看>>
从零开始做UI-静电的sketch设计教室 视频教程
查看>>
log4cplus使用(二)-自定义日志等级
查看>>
[Android Pro] 小心ReleaseByteArrayElements 中的参数问题
查看>>
asp.net MVC 应用程序的生命周期
查看>>
innobackupex 备份实验
查看>>
什么是目标框架别名(What are the Target Framework Monikers (TFMs))?
查看>>
java -Xmx3550m -Xms3550m -Xmn2g -Xss128k -XX:+UseParallelGC -XX:MaxGCPauseMillis=100/虚拟机调优...
查看>>
【网络爬虫】Httpclient4.X中使用HTTPS的方法采集12306网站
查看>>
资质平庸的人该如何在职场上做出一番成就
查看>>
linux--每日一个命令
查看>>
win7如何快速设置开机启动项?
查看>>
JQueryEasyUI-DataGrid显示数据,条件查询,排序及分页
查看>>
mysql metadata lock锁
查看>>
EasyUI DataGrid 相同连续列合并
查看>>
spring beanFactory
查看>>
微信小程序开发者工具集合包
查看>>