观察者模式讲解-创新互联

观察者模式
  • 定义
    • 关系
    • 依赖
    • 关系
    • 总结
    • 我的理解

来源于B站极客架构师老吴大佬

属于行为型模式

交城ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!定义

Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
—— Gof《Design Patterns: Elements of Reusable Object-Oriented Software》
定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。
—Gof《设计模式:可复用面向对象软件的基础》

关系

依赖关系在观察者模式的重要程度,还体现在,观察者设计模式还有另外一个别名(观察者模式有好几个名字,我们后面都会提到),就叫“Dependents”

依赖

依赖关系,最重要的是搞清楚,谁是依赖方,谁是被依赖方,在没有解耦合的依赖关系中,依赖方不能独立存在,被依赖方则反之。
所有研究依赖关系的设计模式,宗旨都包括解耦合依赖双方,干掉依赖关系,或者降低依赖度。从面向对象的角度看,对象和对象之间,一个对象调用了另外一个对象的方法,或者访问了另外对象的属性,这两个对象之间就存在依赖关系。
怎么样的依赖关系?
再给依赖关系加个定语,“一对多”的依赖关系
什么是“一对多”我就不多说了,这里面要强调的,就是一对多里面的“一”,往往是被依赖方,“多”则是依赖方。

关系

谁的变化?对象状态的变化,也就是对象属性的变化。
被依赖方对象状态的变化,变化的后果呢,就是所有依赖于它的对象,都会得到通知,并自动更新。

总结

总结一下,观察者模式,就是定义对象之间的依赖关系,当被依赖方(也就是“一”方)状态发生变化时,所有依赖方(也就是“多”方),都会得到通知并被自动更新。
这个定义后面几个字“并被自动更新”,不太严谨,依赖方都会得到通知一般情况下是没问题的,但是,*是否被自动更新就不得而知了,是否需要处理这个通知,这个要看依赖方的业务需求。

我的理解

观察者模式就是’一’更新了,依赖’一’的’多’就要去更新。

我们以前写代码就是硬编码,有几个服务层去处理请求,我们就调几个方法去处理请求。而有了观察者模式之后我们就可以讲处理方法(服务层)放到一个集合里面,去遍历集合里面的元素去处理请求,从而降低依赖关系,做到解耦,看起来整洁清晰。

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧

文章名称:观察者模式讲解-创新互联
URL分享:https://www.cdcxhl.com/article0/cchpoo.html

成都网站建设公司_创新互联,为您提供微信小程序虚拟主机营销型网站建设品牌网站设计企业网站制作网站排名

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联

成都seo排名网站优化