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

什么建站程序好收录开发移动网站

什么建站程序好收录,开发移动网站,房地产建筑设计公司,网站地图的形式设计模式—观察者模式 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 主要解决的问题:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,…

设计模式—观察者模式

定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。

主要解决的问题:一个对象状态改变给其他对象通知的问题,而且要考虑到易用和低耦合,保证高度的协作。

何时使用:一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知,进行广播通知。

示例:Unity中的观察者模式
  1. 定义一个可观察类(Subject)

首先,我们需要定义一个包含事件的类,这个类将在某个状态发生变化时通知所有已注册的观察者。

using System;
using UnityEngine;public class GameEventPublisher : MonoBehaviour
{public static GameEventPublisher Instance;// 定义一个委托类型,用于声明事件public delegate void GameEventHandler(string message);// 声明一个事件,类型为上面定义的委托类型public static event GameEventHandler OnGameEvent;private void Awake(){if (Instance == null){Instance = this;}else{Destroy(gameObject);}}// 模拟一个状态变化的方法public void TriggerEvent(string message){// 如果有订阅者,则触发事件OnGameEvent?.Invoke(message);}
}
  1. 创建观察者类(Observer)

接下来,我们创建一个或多个观察者类,这些类将监听并响应由GameEventPublisher发布的事件。

using UnityEngine;public class GameEventListener : MonoBehaviour
{// 在Start方法中订阅事件private void Start(){GameEventPublisher.OnGameEvent += HandleGameEvent;}// 当事件被触发时调用此方法private void HandleGameEvent(string message){Debug.Log("收到事件: " + message);}// 在OnDestroy方法中取消订阅以避免内存泄漏private void OnDestroy(){GameEventPublisher.OnGameEvent -= HandleGameEvent;}
}
  1. 触发事件

为了测试这个模式,你可以在你的游戏逻辑中某处调用TriggerEvent方法,例如通过用户输入、定时器或其他游戏事件触发。


if (Input.GetKeyDown(KeyCode.Space))
{gameEventPublisher.TriggerEvent("Space键被按下");
}

这样,当按下空格键时,GameEventPublisher会触发事件,所有订阅了OnGameEvent的观察者都会收到通知,并执行相应的操作(在这个例子中是打印一条消息到控制台)。

这种模式使得代码更加模块化和易于维护,因为它允许对象之间进行松散耦合的通信。通过使用事件和委托,你可以轻松地添加新的观察者,而无需修改现有的发布者代码。

http://www.yayakq.cn/news/808820/

相关文章:

  • 网站后台 竖着 导航菜单建设网站方案 ppt
  • 工业和信息化部网站备案系统是什么意思烟台网站排名
  • 浦东新区苏州网站建设网站 英语
  • 北滘高明网站建设国家免费培训学校
  • 免费网站建设视频青岛seo公司网站
  • 做网站的费用如何入帐常州网站快速排名优化
  • 网站目标定义昆山网站开发公司
  • 濮阳网站建设价格路由器当服务器做网站
  • 免费网站开发模板湛江哪家公司建网站最好
  • 婴幼儿网站模板seo教程培训班
  • 网站建设制作网络营销公司wordpress虚拟商品插件
  • 成都旅行社网站建设贵州网站建设公司有哪些
  • 成都网站设计公司官网免费快速建站工具
  • 那个网站可以找人做设计师深圳地图各区分布图
  • 网站图片特效代码互联网网站类型
  • 太原有做网站的吗dw网页制作素材+教程
  • 北京住房和城乡建设局门户网站中小企业组网
  • 嘉兴手机网站制作平面logo设计公司
  • 建网站能在家里做吗城市网站联盟
  • 网站维护建设岗位职责金华seo建站
  • apmserv网站模板wordpress插件微信营销
  • 广州创建网站html网页特效
  • 设计师必备的网站有哪些龙岗区布吉街道防控措施
  • 秦州区住房和城乡建设局网站建设手机网站
  • 公司网站开发的核心技术网站建设工作会议.
  • 公司网站域名主机wordpress攻略
  • 东台网站建设山东政务网站建设
  • 网站建设公式重庆app推广公司
  • 建设银行网站怎么先无贷款呢怎么查看网站谁做的
  • 网站运营公司网站后台安全性配置