using GFramework.Core.Abstractions.Architectures;
using GFramework.Core.Abstractions.Enums;
using GFramework.Core.Abstractions.Lifecycle;
using GFramework.Core.Abstractions.Logging;
namespace GFramework.Core.Architectures;
///
/// 统一处理架构内可销毁对象的登记与释放。
/// 该类型封装逆序销毁、异常隔离和服务模块清理规则,
/// 让 可以专注于初始化流程本身。
///
internal sealed class ArchitectureDisposer(
IArchitectureServices services,
ILogger logger)
{
///
/// 保留注册顺序的可销毁对象列表。
/// 销毁时按逆序遍历,以尽量匹配组件间的依赖方向。
///
private readonly List