mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 19:03:29 +08:00
- 将Architecture类重构为使用构造函数注入IArchitectureConfiguration、IArchitectureServices和IArchitectureContext - 移除泛型参数和单例模式,改为使用依赖注入容器管理实例 - 添加异步初始化方法InitializeAsync支持异步初始化场景 - 引入ArchitectureOptions类统一管理架构配置选项 - 创建DefaultArchitectureConfiguration和DefaultArchitectureServices默认实现 - 新增IArchitectureContext接口提供统一的上下文访问 - 添加IAsyncInitializable接口支持异步初始化能力 - 简化架构生命周期阶段,移除Created、BeforeInit和AfterInit阶段 - 更新事件系统为ITypeEventSystem接口实现 - 重构命令和控制器接口,统一使用IContextAware替代多个能力接口 - 移除FunctionalArchitectureOptions和相关委托配置方式 - 优化日志记录使用配置中的LoggerFactory实例
44 lines
1.4 KiB
C#
44 lines
1.4 KiB
C#
using GFramework.Core.rule;
|
|
|
|
namespace GFramework.Core.command;
|
|
|
|
/// <summary>
|
|
/// 抽象命令类,实现 ICommand 接口,为具体命令提供基础架构支持
|
|
/// </summary>
|
|
public abstract class AbstractCommand : ContextAwareBase, ICommand
|
|
{
|
|
/// <summary>
|
|
/// 执行命令,调用抽象方法 OnExecute 来实现具体逻辑
|
|
/// </summary>
|
|
void ICommand.Execute()
|
|
{
|
|
OnExecute();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 抽象方法,由子类实现具体的命令执行逻辑
|
|
/// </summary>
|
|
protected abstract void OnExecute();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 带返回值的抽象命令类,实现 ICommand{TResult} 接口,为需要返回结果的命令提供基础架构支持
|
|
/// </summary>
|
|
/// <typeparam name="TResult">命令执行后返回的结果类型</typeparam>
|
|
public abstract class AbstractCommand<TResult> : ContextAwareBase, ICommand<TResult>
|
|
{
|
|
/// <summary>
|
|
/// 执行命令,调用抽象方法 OnExecute 来实现具体逻辑并返回结果
|
|
/// </summary>
|
|
/// <returns>TResult 类型的执行结果</returns>
|
|
TResult ICommand<TResult>.Execute()
|
|
{
|
|
return OnExecute();
|
|
}
|
|
|
|
/// <summary>
|
|
/// 抽象方法,由子类实现具体的命令执行逻辑
|
|
/// </summary>
|
|
/// <returns>TResult 类型的执行结果</returns>
|
|
protected abstract TResult OnExecute();
|
|
} |