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

网站平台怎么做推广编辑wordpress文章页

网站平台怎么做推广,编辑wordpress文章页,品牌网鞋,wordpress 弹窗浮动层状态模式​​是一种​​行为型设计模式​​#xff0c;允许对象在内部状态改变时动态改变其行为​​#xff0c;使对象的行为看起来像是改变了。该模式通过将状态逻辑拆分为独立类​​#xff0c;消除复杂的条件分支语句#xff0c;提升代码的可维护性和扩展性。 状态模式的…状态模式​​是一种​​行为型设计模式​​允许对象在内部状态改变时动态改变其行为​​使对象的行为看起来像是改变了。该模式通过将状态逻辑拆分为独立类​​消除复杂的条件分支语句提升代码的可维护性和扩展性。 状态模式的核心价值​​在于​​解耦状态逻辑与上下文​​为复杂状态管理提供结构化解决方案。在游戏开发中它尤其适合管理角色控制、AI行为等动态状态流转场景但需权衡类膨胀和性能成本。 优点 1. ​​消除复杂条件分支消除大量if-else或switch语句避免代码臃肿且难以维护将每个分支独立为一个状态类通过状态切换取代条件分支。 2.提高扩展性新增状态无需修改上下文类只需添加新的状态类即可。 3.职责单一化每个状态类仅关注自身行为符合单一职责原则。 4.状态转换显式管理状态转换条件封装在状态类中避免分散在代码各处。 5.提高可测试性每个状态可单独测试无需依赖其他逻辑。 缺点  1.类数量增多每个状态对应一个类可能导致类数量过多。例如10个状态 → 10个类 接口 上下文类 优化        1.​使用 ​​层级状态机​​ 合并相似状态如 BaseMovementState 派生 Walk/Run。        2.对简单状态使用 ​​枚举 委托​​ 简化实现。 2.Context数据共享状态类需访问上下文数据可能导致过度暴露接口如Player类需向状态类公开血量、位置等字段。 优化         1.将共享数据封装为 ​​上下文接口​​限制访问权限。         2.通过事件/委托通信减少直接依赖。 3.性能开销频繁创建/销毁状态对象可能影响性能如每帧切换状态。 优化          1.使用​​对象池​​复用状态实例。 说明例子 1.UML类图 2.实现 1.定义State的抽象类 public abstract class State{protected Context m_Context null;public State(Context _context){m_Context _context;}public abstract void Handler(int value);} 2.定义Context类 public class Context{State m_State null;public void Request(int value){m_State.Handler(value);}public void SetState(State state){Debug.Log(Context.SetState: state);m_State state;}} 3.定义具体状态类ConcreteStateA、ConcreteStateB、ConcreteStateC public class ConcreteStateA : State{public ConcreteStateA(Context _context) : base(_context){}public override void Handler(int value){Debug.Log(ConcreteStateA.Handler);if (value 10){m_Context.SetState(new ConcreateStateB(m_Context));}}}public class ConcreateStateB : State{public ConcreateStateB(Context _context) : base(_context){}public override void Handler(int value){Debug.Log(ConcreteStateB.Handler);if (value 20){m_Context.SetState(new ConcreateStateC(m_Context));}}}public class ConcreateStateC : State{public ConcreateStateC(Context _context) : base(_context){}public override void Handler(int value){Debug.Log(ConcreteStateC.Handler);if (value 30){m_Context.SetState(new ConcreteStateA(m_Context));}}} 4.测试类 public class StateParttern : MonoBehaviour {// Start is called before the first frame updatevoid Start(){Context context new Context();context.SetState(new ConcreteStateA(context));context.Request(5);context.Request(15);context.Request(25);context.Request(35);} } 游戏中的使用场景 ​​1.角色行为管理​​玩家状态 -- 站立、移动、跳跃、攻击、死亡。 ​​2.AI决策系统​​敌人AI -- 巡逻、追击、攻击、逃跑。 ​3.​UI界面切换​​游戏菜单 -- 主界面、设置、背包、暂停。 4.场景切换游戏场景 -- 开始场景、大厅场景、战斗场景切换。 ​​5.物理交互系统​​物体状态 -- 静止、运动、碰撞、销毁。 总结 状态模式的核心价值​​在于解耦状态逻辑与上下文​​为复杂状态管理提供结构化解决方案。在游戏开发中它尤其适合管理角色控制、AI行为等动态状态流转场景但需权衡类膨胀和性能成本。 参考书籍 《Hands-On Game Development Patterns with Unity 2019》 《设计模式与游戏完美开发》
http://www.zqtcl.cn/news/412068/

相关文章:

  • 微站是什么移动网站 拉新
  • 黑龙江省农业网站建设情况wordpress4.94主题上传不显示
  • 个人网站的域名重庆建立公司网站
  • 什么做网站做个多少钱啊百度网盘app
  • 做网站的公司挣钱吗石家庄房产
  • 烟台网站建设设计公司安徽建设工程信息网查询平台蔡庆树
  • 微信链接的微网站怎么做西安企业网站制作价格
  • uniapp怎么做淘客网站表格布局的网站
  • wordpress侧栏图片插件提升seo搜索排名
  • 如何查询网站的域名注册邹城建设银行网站
  • 招生门户网站建设方案国家企业信用信息公示信息查询网
  • 用dw做淘客网站的步骤移动互联网应用技术
  • 企业合作的响应式网站石家庄网站建设推广
  • 成都网站排名优化开发广告传媒公司简介模板
  • 中山网站建设企业网站内容建设
  • 免费网站建站页面wordpress的主题在哪个文件夹
  • 国企网站建设要求站长之家排行榜
  • 做视频网站利润如何处理旅游电子商务网站建设技术规范
  • 做网站架构网页浏览器怎么卸载
  • 做甜品的网站网页传奇游戏排行榜比亚迪
  • 广州网站建设菲利宾百度关键词优化排名
  • 南昌网站建设业务wordpress添加购买按钮
  • 个人现在可以做哪些网站企业所得税是多少
  • 网站建设招标信息科技企业网站建设
  • 怎样弄网站站长工具综合查询
  • 表白网站在线制作软件合肥seo按天收费
  • 襄阳企业网站建设免费行情的软件入口下载
  • 对百度网站进行分析中国机械加工网18易0下6拉en
  • 一般做网站都在什么网做wordpress轮播图设置
  • 深圳装饰公司网站thinkphp 网站根目录地址