2026/6/20 10:05:51
网站建设
项目流程
枣庄seo推广,北京网站优化多少钱,网站建设高端公司,网站是空间备案观察者模式与事件中心观察者模式和事件中心的关系事件中心是观察者模式的中心化类型#xff0c;观察者模式比事件中心更广义#xff0c;不使用事件中心#xff0c;两个类#xff0c;类B监听类A的事件#xff0c;也是观察者模式。为什么要用事件中心#xff1f;我觉得在Un…观察者模式与事件中心观察者模式和事件中心的关系事件中心是观察者模式的中心化类型观察者模式比事件中心更广义不使用事件中心两个类类B监听类A的事件也是观察者模式。为什么要用事件中心我觉得在Unity里最大的原因还是脚本的生命周期不适合两两的观察者模式。写一个不用事件中心的观察者模式类B监听类A的事件A和B都继承MonoBehaviour马上会发现如果A先于B创建需要在脚本执行顺序里设置脚本优先级那么也会先于B销毁B试图取消监听时A已经销毁。这样还算能用假如现在A也要监听B呢假设A是UIB是管理器A收到输入通知B处理B处理完要通知A刷新显示任意一方先创建它都会找不到自己要监听的对象。那么解决方法就是搞一个生命周期比所有MonoBehaviour都长的对象。直接调用、监听委托、事件中心如何选用看要调用的函数获取到的难度或者说调用链长度。要执行的函数就是此函数的参数的成员方法时直接调用。要执行的函数只在这个类的部分对象要执行毫不犹豫使用观察者模式。比如背包数据类有很多对象只有玩家那个需要触发面板刷新那背包数据类如果引用面板还要判断自己是不是玩家的背包