当前位置: 首页 > news >正文

观察者模式与事件中心

观察者模式与事件中心

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

事件中心是观察者模式的中心化类型,观察者模式比事件中心更广义,不使用事件中心,两个类,类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. 要执行的函数只在这个类的部分对象要执行,毫不犹豫使用观察者模式。比如背包数据类,有很多对象,只有玩家那个需要触发面板刷新,那背包数据类如果引用面板还要判断自己是不是玩家的背包?
http://icebutterfly214.com/news/161329/

相关文章:

  • 【计算机毕业设计案例】基于springboot的老年志愿者服务智慧平台老年志愿者报名服务老年志愿者报名服务(程序+文档+讲解+定制)
  • 如何在大学期间高效专注学习 Java:拒绝恋爱、闲聊与短视频的自律成长指南
  • 甲骨文文字检测数据集VOC+YOLO格式6079张1类别
  • 使用TensorRT优化LayoutParser文档解析模型
  • 构建安全可信AI:TensorRT签名验证功能介绍
  • 基于TensorRT的智能客服系统并发能力提升三倍
  • 本地私有知识库:你的专属数字大脑
  • CodeCombat 容器部署笔记
  • 使用TensorRT优化通义千问推理性能实测报告
  • 开源模型也能高性能运行?TensorRT给你答案
  • 【开题答辩全过程】以 基于大数据的健康评估管理系统的设计与实现为例,包含答辩的问题和答案
  • AI平台建设指南:集成TensorRT提升整体竞争力
  • 大规模模型部署挑战:TensorRT提供稳定解法
  • 【无人艇编队】基于双虚拟领航员+人工势场APF+扩张状态观测器ESO的4 艘欠驱动水面船舶USV包容控制+障碍规避+事件触发一体化仿真系统,解决复杂环境下的分布式协同控制问题附Matlab代码
  • 2025年北京国樽律师事务所推荐:离婚、工伤、刑事等九大领域顶尖律师团队实力解析,企业法律顾问权威指南 - 品牌企业推荐师(官方)
  • 规划中主要使用的曲线类型
  • cs50-二叉搜索树
  • NVIDIA TensorRT镜像安装与配置最简教程
  • 【无人机控制】四旋翼无人机的3D路径规划与轨迹跟踪Matlab仿真系统,包含RRT路径规划、航点生成、QP 优化轨迹平滑和动力学仿真四个核心模块
  • Linux Load Average
  • 2025小区绿化苗木公司,园林绿化公司推荐榜单 - 栗子测评
  • 用户投诉自动分类系统:客户服务效率倍增
  • ‌测试数据即服务:解决数据依赖与隐私合规的创新方案‌
  • 口碑好的杭州寿衣公司推荐 2025杭州寿衣公司哪家好 - 栗子测评
  • 中山税务筹划哪家好?2025本地财税公司精选榜单 - 栗子测评
  • 零售门店智能监控升级:通过TensorRT镜像降低成本
  • 11.22
  • 龙门锯厂家有哪些?2025龙门锯厂家实力盘点 - 栗子测评
  • 代码大全2第四章读书笔记
  • 花岗岩切割机厂家哪家好?2025切石机厂家推荐榜单 - 栗子测评