mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 10:34:30 +08:00
- 从 ArchitectureContext 构造函数中移除 LoggerProperties 参数 - 更新 Architecture 类中上下文初始化逻辑,不再传递日志属性 - 优化事件系统中的空值安全处理 - 修正 EasyEvent 泛型类中的类型参数命名 - 移除不再需要的 IsExternalInit 内部实现 - 更新包引用配置添加 PrivateAssets 属性
48 lines
1.2 KiB
C#
48 lines
1.2 KiB
C#
using GFramework.Core.Abstractions.architecture;
|
||
using GFramework.Core.Abstractions.enums;
|
||
using GFramework.Core.Abstractions.model;
|
||
|
||
namespace GFramework.Core.model;
|
||
|
||
/// <summary>
|
||
/// 抽象模型基类,实现IModel接口,提供模型的基本架构支持
|
||
/// </summary>
|
||
public abstract class AbstractModel : IModel
|
||
{
|
||
/// <summary>
|
||
/// 模型所属的架构实例
|
||
/// </summary>
|
||
protected IArchitectureContext _context { get; private set; } = null!;
|
||
|
||
/// <summary>
|
||
/// 初始化模型,调用抽象方法OnInit执行具体初始化逻辑
|
||
/// </summary>
|
||
void IModel.Init()
|
||
{
|
||
OnInit();
|
||
}
|
||
|
||
public void SetContext(IArchitectureContext context)
|
||
{
|
||
_context = context;
|
||
}
|
||
|
||
public IArchitectureContext GetContext()
|
||
{
|
||
return _context;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 处理架构阶段事件的虚拟方法
|
||
/// </summary>
|
||
/// <param name="phase">当前的架构阶段</param>
|
||
public virtual void OnArchitecturePhase(ArchitecturePhase phase)
|
||
{
|
||
}
|
||
|
||
|
||
/// <summary>
|
||
/// 抽象初始化方法,由子类实现具体的初始化逻辑
|
||
/// </summary>
|
||
protected abstract void OnInit();
|
||
} |