首页 分享 23种设计模式(十七)观察者模式(阁瑞钛伦特软件

23种设计模式(十七)观察者模式(阁瑞钛伦特软件

来源:萌宠菠菠乐园 时间:2025-07-16 20:41

最新推荐文章于 2025-07-14 17:28:28 发布

九耶(钛伦特) 于 2022-08-10 09:00:00 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

常说的设计模式是23种设计模式,分为3大类:

创建型模式5种:工厂方法、抽象工厂、单例、建造者、原型结构型模式7种:适配器、代理、桥接、装饰者、外观、享元、组合行为型模式11种:模板方法、解释器、策略、观察者、迭代器、职责链、命令、备忘录、状态、访问者、中介者。

上次咱们说了策略模式,今天咱们来说“观察者模式”。

如果要理解“观察者模式”关键在于理解“观察者”。对于行为型模式来说,观察这个行为是“观察者观察被观察者”。所以,我们构建的程序,要分两个部分,一部分是“观察者”,一部分是“被观察者”。当然,“观察者”与“被观察者”之间的关系是我们强加给程序的意义。实际上,需要注意数据流向,从而读懂代码真正的逻辑。

先建立用户程序,用户要有一个能更新或者能接收信息的行为:

所以接口定义为:

用户的实现类:

 

在建立一个支持多用户的程序,需要对多用户进行管理,也就是要有添加用户的行为,删除用户的行为以及执行用户更新的行为。

所以,接口定义为:

接口的实现类中,由于支持多用户,所以用一个集合来存储多个用户对象。

当执行attach方法时,添加一个用户对象

当执行detach,注销一个用户对象

当执行notifyObserver,执行所有已注册用户对象的更新方法

应用如下:

“ConcreteSubject”实现类实例化对象后,调用“attach”添加一个“ConcreteObserver”对象,用“notifyObserver”执行所有已注册用户的“update”更新。

下面咱们来看一下适用场景:比如说:一个神有很多的宠物,神只要一个“神之呼唤”就能让他麾下的所有宠物执行命令。

先建立宠物的接口:宠物必须有更新的方法。也就是接收神的信息的方法。

 

实现一个宠物龟 

 

在建立神的接口,要能够添加宠物对象,移除宠物对象以及执行宠物行为并发送命令。

 

 实现接口的神:

“attch”添加宠物对象

“detach”移除宠物对象

“notifyPet”使全部宠物听令

实际应用时:神的对象添加宠物“萨瓦”和“迪卡”并发送指令“来~来~来~”

 

最终宠物所有宠物接收到神的命令。

 

相关知识

23种设计模式(十七)观察者模式(阁瑞钛伦特软件
初探Java设计模式3:行为型模式(策略,观察者等)
仓鼠喜欢的23种设计模式(1)
Java设计模式——行为型模式
【设计模式】对象行为—行为型模式和全部总结(大图)
播放宠物模式的软件 播放宠物模式的软件下载
免费模式是什么?
特斯拉的“狗模式”和“哨兵模式”现在是实时保护您的汽车和宠物
设计模式大作业动物运动会系统【多种设计模式+文档】
宠物医院在线问诊模式开发

网址: 23种设计模式(十七)观察者模式(阁瑞钛伦特软件 https://www.mcbbbk.com/newsview1209201.html

所属分类:萌宠日常
上一篇: 养的宠物龟几个月不吃东西(应该怎
下一篇: 巴西龟观察记录表

推荐分享