设计模式系列详解 -- 观察者模式

举报
baidaguo 发表于 2022/07/24 00:45:07 2022/07/24
【摘要】 观察者模式简介? 当一个对象的状态发生改变时,已经登记的其他对象能够观察到这一改变从而作出自己相对应的改变。通过这种方式来达到减少依赖关系,解耦合的作用。 举一个例子,就好比微信朋...

在这里插入图片描述

观察者模式简介?

当一个对象的状态发生改变时,已经登记的其他对象能够观察到这一改变从而作出自己相对应的改变。通过这种方式来达到减少依赖关系,解耦合的作用。

举一个例子,就好比微信朋友圈,以当前个人作为订阅者,好友作为主题。一个人发一条动态朋友圈出去,他的好友都能看到这个朋友圈,并且可以在自主选择点赞或者评论。

感觉有点抽象,还是看看他有哪些主要角色:

在这里插入图片描述

Subject(主题): 主要由类实现的可观察的接口,通知观察者使用attach方法,以及取消观察的detach方法。
ConcreteSubject(具体主题): 是一个实现主题接口的类,处理观察者的变化
Observe(观察者): 观察者是一个由对象水岸的接口,根据主题中的更改而进行更新。

代码:

public inter
  
 

    文章来源: baidaguo.blog.csdn.net,作者:白大锅,版权归原作者所有,如需转载,请联系作者。

    原文链接:baidaguo.blog.csdn.net/article/details/125407516

    【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    举报
    请填写举报理由
    0/200