diff --git a/GFramework.Core/architecture/Architecture.cs b/GFramework.Core/architecture/Architecture.cs index dda7ad9..85a57ed 100644 --- a/GFramework.Core/architecture/Architecture.cs +++ b/GFramework.Core/architecture/Architecture.cs @@ -424,9 +424,7 @@ public abstract class Architecture( } _logger.Debug($"Registering model: {typeof(TModel).Name}"); - // 对于有 SetArchitecture 方法的模型,尝试调用该方法 - var setArchitectureMethod = typeof(TModel).GetMethod("SetArchitecture", [typeof(IArchitecture)]); - setArchitectureMethod?.Invoke(model, [this]); + model.SetContext(Context); Container.RegisterPlurality(model); if (!_mInitialized) diff --git a/GFramework.Core/model/AbstractModel.cs b/GFramework.Core/model/AbstractModel.cs index aae101c..5d67067 100644 --- a/GFramework.Core/model/AbstractModel.cs +++ b/GFramework.Core/model/AbstractModel.cs @@ -1,19 +1,14 @@ -using GFramework.Core.Abstractions.architecture; -using GFramework.Core.Abstractions.enums; +using GFramework.Core.Abstractions.enums; using GFramework.Core.Abstractions.model; +using GFramework.Core.rule; namespace GFramework.Core.model; /// /// 抽象模型基类,实现IModel接口,提供模型的基本架构支持 /// -public abstract class AbstractModel : IModel +public abstract class AbstractModel : ContextAwareBase, IModel { - /// - /// 模型所属的架构实例 - /// - protected IArchitectureContext _context { get; private set; } = null!; - /// /// 初始化模型,调用抽象方法OnInit执行具体初始化逻辑 /// @@ -22,16 +17,6 @@ public abstract class AbstractModel : IModel OnInit(); } - public void SetContext(IArchitectureContext context) - { - _context = context; - } - - public IArchitectureContext GetContext() - { - return _context; - } - /// /// 处理架构阶段事件的虚拟方法 ///