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;
- }
-
///
/// 处理架构阶段事件的虚拟方法
///