diff --git a/GFramework.Core/utility/AbstractContextUtility.cs b/GFramework.Core/utility/AbstractContextUtility.cs new file mode 100644 index 0000000..6bb1f9c --- /dev/null +++ b/GFramework.Core/utility/AbstractContextUtility.cs @@ -0,0 +1,34 @@ +using GFramework.Core.logging; +using GFramework.Core.rule; + +namespace GFramework.Core.utility; + +/// +/// 抽象上下文工具类,提供上下文相关的通用功能实现 +/// 继承自ContextAwareBase并实现IContextUtility接口 +/// +public abstract class AbstractContextUtility : ContextAwareBase, IContextUtility +{ + private ILogger _logger = null!; + + /// + /// 初始化上下文工具类 + /// + void IContextUtility.Init() + { + // 获取上下文中的日志记录器 + _logger = Context.Logger; + _logger.Debug($"Initializing Context Utility: {GetType().Name}"); + + // 执行子类实现的初始化逻辑 + OnInit(); + + // 记录初始化完成信息 + _logger.Info($"Context Utility initialized: {GetType().Name}"); + } + + /// + /// 抽象初始化方法,由子类实现具体的初始化逻辑 + /// + protected abstract void OnInit(); +} diff --git a/GFramework.Core/utility/IContextUtility.cs b/GFramework.Core/utility/IContextUtility.cs new file mode 100644 index 0000000..7f597c9 --- /dev/null +++ b/GFramework.Core/utility/IContextUtility.cs @@ -0,0 +1,16 @@ +using GFramework.Core.rule; + +namespace GFramework.Core.utility; + +/// +/// 上下文工具接口,继承自IUtility和IContextAware接口 +/// 提供具有上下文感知能力的工具功能 +/// +public interface IContextUtility:IUtility,IContextAware +{ + /// + /// 初始化上下文工具 + /// + void Init(); +} +