news 2026/5/1 6:10:10

观察者模式与事件中心

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
观察者模式与事件中心

观察者模式与事件中心

观察者模式和事件中心的关系

事件中心是观察者模式的中心化类型,观察者模式比事件中心更广义,不使用事件中心,两个类,类B监听类A的事件,也是观察者模式。

为什么要用事件中心?

我觉得在Unity里最大的原因还是脚本的生命周期不适合两两的观察者模式。

写一个不用事件中心的观察者模式,类B监听类A的事件,A和B都继承MonoBehaviour,马上会发现,如果A先于B创建(需要在脚本执行顺序里设置脚本优先级),那么也会先于B销毁,B试图取消监听时,A已经销毁。

这样还算能用,假如现在A也要监听B呢??(假设A是UI,B是管理器,A收到输入通知B处理,B处理完要通知A刷新显示)任意一方先创建,它都会找不到自己要监听的对象。

那么解决方法就是搞一个生命周期比所有MonoBehaviour都长的对象。

直接调用、监听委托、事件中心,如何选用?

看要调用的函数获取到的难度,或者说调用链长度。

  1. 要执行的函数就是此函数的参数的成员方法时,直接调用。
  2. 要执行的函数只在这个类的部分对象要执行,毫不犹豫使用观察者模式。比如背包数据类,有很多对象,只有玩家那个需要触发面板刷新,那背包数据类如果引用面板还要判断自己是不是玩家的背包?
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 18:28:15

移动端也能跑大模型?TensorRT Lite初探

移动端也能跑大模型?TensorRT Lite初探 在智能手机、无人机、机器人和便携医疗设备日益智能化的今天,一个曾经难以想象的问题正被频繁提出:我们能否在算力有限的移动或嵌入式设备上,流畅运行像BERT、YOLOv8甚至更大规模的深度学习…

作者头像 李华
网站建设 2026/5/1 6:09:57

TensorRT与Kafka消息队列集成实现异步推理

TensorRT与Kafka消息队列集成实现异步推理 在当今AI系统大规模落地的背景下,一个常见的工程挑战浮出水面:如何让深度学习模型既跑得快,又能扛住流量洪峰?尤其是在视频分析、实时推荐这类场景中,我们常常面临两难——要…

作者头像 李华
网站建设 2026/4/23 4:05:39

AI的副驾驶已就位:“人人都是产品经理”时代真正到来?

在杭州一家互联网公司的会议室里,一场产品评审会陷入了诡异的沉默。一位年轻产品经理轻点键盘,一份由AI生成的、结构工整、逻辑清晰的PRD(产品需求文档)便呈现在大屏幕上。会议室里先是响起低低的惊叹,随后便是漫长的沉…

作者头像 李华
网站建设 2026/4/9 18:57:17

绿盾注册机

天锐绿盾是一款专业的企业内网安全管理软件,以 “内核级透明加密 数据全生命周期管控” 为核心优势,构建 “加密 - 权限 - 审计 - 终端” 四维防护体系。它采用驱动层动态加解密技术和 256 位高强度加密算法,支持 20000 余种文件格式创建即加…

作者头像 李华
网站建设 2026/4/29 19:03:41

NVIDIA Orin芯片上部署TensorRT自动驾驶模型案例

在NVIDIA Orin上部署TensorRT自动驾驶模型:软硬协同的工程实践 在智能驾驶域控制器的研发一线,我们常常面临一个棘手的问题:实验室里训练得再完美的模型,一旦放到车载环境中就“水土不服”——推理延迟飙高、内存占用爆炸、功耗压…

作者头像 李华
网站建设 2026/5/1 3:38:46

构建自动化CI/CD流程:TensorRT模型持续集成

构建自动化CI/CD流程:TensorRT模型持续集成 在AI系统从实验室走向产线的过程中,一个常被忽视但至关重要的问题浮出水面——为什么训练时表现优异的模型,部署后却卡顿频发、响应迟缓? 答案往往不在于算法本身,而在于推…

作者头像 李华