using GFramework.Core.Abstractions.command; using GFramework.Core.rule; namespace GFramework.Core.command; /// /// 抽象命令类,实现 ICommand 接口,为具体命令提供基础架构支持 /// public abstract class AbstractCommand : ContextAwareBase, ICommand { /// /// 执行命令,调用抽象方法 OnExecute 来实现具体逻辑 /// void ICommand.Execute() { OnExecute(); } /// /// 抽象方法,由子类实现具体的命令执行逻辑 /// protected abstract void OnExecute(); } /// /// 带返回值的抽象命令类,实现 ICommand{TResult} 接口,为需要返回结果的命令提供基础架构支持 /// /// 命令执行后返回的结果类型 public abstract class AbstractCommand : ContextAwareBase, ICommand { /// /// 执行命令,调用抽象方法 OnExecute 来实现具体逻辑并返回结果 /// /// TResult 类型的执行结果 TResult ICommand.Execute() { return OnExecute(); } /// /// 抽象方法,由子类实现具体的命令执行逻辑 /// /// TResult 类型的执行结果 protected abstract TResult OnExecute(); }