feat(utility): 添加抽象上下文工具类和接口

- 创建了 AbstractContextUtility 抽象类,继承 ContextAwareBase 并实现 IContextUtility 接口
- 实现了 IContextUtility 接口,提供上下文相关的通用功能
- 添加了 Init 方法用于初始化上下文工具,包含日志记录功能
- 提供了抽象 OnInit 方法供子类实现具体初始化逻辑
- 定义了 IContextUtility 接口,继承 IUtility 和 IContextAware 接口
- 添加了上下文感知能力的工具功能支持
This commit is contained in:
GeWuYou 2025-12-25 08:34:46 +08:00
parent 270411c66c
commit 485b2a11fe
2 changed files with 50 additions and 0 deletions

View File

@ -0,0 +1,34 @@
using GFramework.Core.logging;
using GFramework.Core.rule;
namespace GFramework.Core.utility;
/// <summary>
/// 抽象上下文工具类,提供上下文相关的通用功能实现
/// 继承自ContextAwareBase并实现IContextUtility接口
/// </summary>
public abstract class AbstractContextUtility : ContextAwareBase, IContextUtility
{
private ILogger _logger = null!;
/// <summary>
/// 初始化上下文工具类
/// </summary>
void IContextUtility.Init()
{
// 获取上下文中的日志记录器
_logger = Context.Logger;
_logger.Debug($"Initializing Context Utility: {GetType().Name}");
// 执行子类实现的初始化逻辑
OnInit();
// 记录初始化完成信息
_logger.Info($"Context Utility initialized: {GetType().Name}");
}
/// <summary>
/// 抽象初始化方法,由子类实现具体的初始化逻辑
/// </summary>
protected abstract void OnInit();
}

View File

@ -0,0 +1,16 @@
using GFramework.Core.rule;
namespace GFramework.Core.utility;
/// <summary>
/// 上下文工具接口继承自IUtility和IContextAware接口
/// 提供具有上下文感知能力的工具功能
/// </summary>
public interface IContextUtility:IUtility,IContextAware
{
/// <summary>
/// 初始化上下文工具
/// </summary>
void Init();
}