GwWuYou 67b0e83da4 refactor(architecture): 重构架构初始化逻辑并添加异步支持
- 修改模块安装日志格式,添加.Module后缀
- 重命名_mInited字段为_mInitialized以提高语义清晰度
- 将EnterPhase方法设为protected virtual以支持继承扩展
- 将阶段变更通知的日志级别从Debug调整为Trace
- 为NotifyPhase方法添加生命周期钩子的日志记录
- 实现同步和异步初始化方法(Initialize和InitializeAsync)
- 创建InitializeComponentAsync方法统一处理组件初始化逻辑
- 重构InitializeInternalAsync方法实现完整的异步初始化流程
- 重命名测试架构类TestArchitecture为SyncTestArchitecture
- 添加异步测试模型AsyncTestModel用于验证异步初始化功能
- 添加失败模型FailingModel用于测试异常处理机制
- 重命名系统测试类的初始化和销毁状态属性
- 创建新的同步架构测试类SyncArchitectureTests替代原有测试
- 删除已过时的ArchitectureInitializationTests测试类
2026-01-02 10:39:52 +08:00

51 lines
1.6 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GFramework.Core.Abstractions.architecture;
using GFramework.Core.Abstractions.enums;
using GFramework.Core.Abstractions.model;
namespace GFramework.Core.Tests.model;
/// <summary>
/// 一个用于测试的失败模型类实现IModel接口
/// 该模型在初始化时会故意抛出异常,用于测试异常处理机制
/// </summary>
public sealed class FailingModel : IModel
{
/// <summary>
/// 初始化模型
/// 该方法会故意抛出InvalidOperationException异常
/// </summary>
/// <exception cref="InvalidOperationException">总是抛出此异常以模拟初始化失败</exception>
public void Init()
{
throw new InvalidOperationException("Model init failed intentionally");
}
/// <summary>
/// 设置架构上下文
/// 该方法为空实现,不执行任何操作
/// </summary>
/// <param name="context">架构上下文对象</param>
public void SetContext(IArchitectureContext context)
{
}
/// <summary>
/// 获取架构上下文
/// 该方法会抛出NotSupportedException异常
/// </summary>
/// <returns>不返回任何值,总是抛出异常</returns>
/// <exception cref="NotSupportedException">总是抛出此异常</exception>
public IArchitectureContext GetContext()
{
throw new NotSupportedException();
}
/// <summary>
/// 处理架构阶段事件
/// 该方法为空实现,不执行任何操作
/// </summary>
/// <param name="phase">当前架构阶段</param>
public void OnArchitecturePhase(ArchitecturePhase phase)
{
}
}