using GFramework.Core.Abstractions.enums;
using GFramework.Core.Abstractions.lifecycle;
using GFramework.Core.model;
namespace GFramework.Core.Tests.model;
///
/// 异步测试模型类,实现了IModel和IAsyncInitializable接口
///
public sealed class AsyncTestModel : AbstractModel, IAsyncInitializable
{
///
/// 获取模型是否已初始化的标志
///
public bool Initialized { get; private set; }
///
/// 异步初始化方法,模拟异步初始化过程
///
/// 表示异步操作的Task
public async Task InitializeAsync()
{
await Task.Delay(10);
Initialized = true;
}
///
/// 同步初始化方法,该方法不应该被调用
///
/// 当该方法被调用时抛出异常
public void Init()
{
// sync Init 不应该被调用
throw new InvalidOperationException("Sync Init should not be called");
}
///
/// 处理架构阶段事件
///
/// 架构阶段枚举值
public override void OnArchitecturePhase(ArchitecturePhase phase)
{
}
protected override void OnInit()
{
}
}