Unity3D 设计模式---命令者模式

本文探讨了Unity3D中的命令者模式,解释了如何通过该模式实现行为请求者与行为实现者的解耦,特别是在需要记录、撤销/重做、事务处理等场景下的优势。内容包括命令者模式的定义、工作原理,以及结合FSM状态机的实例分析,强调了模式在降低状态间耦合性和提高扩展性方面的优点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

命令者模式的定义
“行为请求者”与“行为实现者”通常呈现一种“紧耦合”。但在某些场合,比如要对行为进行“记录、撤销/重做、事务”等处理,这种无法抵御变化的紧耦合是不合适的。在这种情况下,如何将“行为请求者”与“行为实现者”解耦?将一组行为抽象为对象,实现二者之间的松耦合。这就是命令模式。

命令者模式的原理
这里写图片描述

命令者模式举例—>FSM状态机
这里写图片描述
首先分析:共同的特性
1.切换到另一种状态时都要先退出当前状态
2.进入要切换的状态
3.每一帧 处理当前的状态涉及的逻辑

接下来上代码

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//抽象出的父类
public abstract class FSMBase
{
    protected Animator animator;

    public FSMBase(Animator temAnimator)
    {
        animator = temAnimator;
    }

    //进入状态
    public abstract void OnEnter();
    //当前状态
    public abstract void Update();
    //离开状态
    public abstract void OnLeave();
}
//管理类
public class FSMManager
{
    /// <summary>
    /// 当前添加的状态数
    /// </summary><
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值