mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 19:03:29 +08:00
- 修改模块安装日志格式,添加.Module后缀 - 重命名_mInited字段为_mInitialized以提高语义清晰度 - 将EnterPhase方法设为protected virtual以支持继承扩展 - 将阶段变更通知的日志级别从Debug调整为Trace - 为NotifyPhase方法添加生命周期钩子的日志记录 - 实现同步和异步初始化方法(Initialize和InitializeAsync) - 创建InitializeComponentAsync方法统一处理组件初始化逻辑 - 重构InitializeInternalAsync方法实现完整的异步初始化流程 - 重命名测试架构类TestArchitecture为SyncTestArchitecture - 添加异步测试模型AsyncTestModel用于验证异步初始化功能 - 添加失败模型FailingModel用于测试异常处理机制 - 重命名系统测试类的初始化和销毁状态属性 - 创建新的同步架构测试类SyncArchitectureTests替代原有测试 - 删除已过时的ArchitectureInitializationTests测试类
51 lines
1.6 KiB
C#
51 lines
1.6 KiB
C#
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)
|
||
{
|
||
}
|
||
} |