using GFramework.Core.Abstractions.architecture; using GFramework.Core.Abstractions.enums; using GFramework.Core.Abstractions.model; namespace GFramework.Core.Tests.model; /// /// 异步测试模型类,实现了IModel和IAsyncInitializable接口 /// public sealed class AsyncTestModel : IModel, IAsyncInitializable { private IArchitectureContext _context = null!; /// /// 获取模型是否已初始化的标志 /// 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 void SetContext(IArchitectureContext context) { _context = context; } /// /// 获取架构上下文 /// /// 架构上下文对象 public IArchitectureContext GetContext() => _context; /// /// 处理架构阶段事件 /// /// 架构阶段枚举值 public void OnArchitecturePhase(ArchitecturePhase phase) { } }