using GFramework.Core.architecture; using GFramework.Core.command; using GFramework.Core.events; using GFramework.Core.model; using GFramework.Core.query; using GFramework.Core.system; using GFramework.Core.utility; namespace GFramework.Core.architecture; /// /// 架构接口,专注于生命周期管理,包括系统、模型、工具的注册和获取 /// 业务操作通过 ArchitectureRuntime 提供 /// public interface IArchitecture: IAsyncInitializable { /// /// 初始化方法,用于执行对象的初始化操作 /// /// /// 该方法通常用于设置初始状态、初始化成员变量或执行必要的预处理操作 /// void Initialize(); /// /// 销毁方法,用于执行对象的清理和销毁操作 /// /// /// 该方法通常用于释放资源、清理内存或执行必要的清理操作 /// void Destroy(); /// /// 注册系统实例到架构中 /// /// 系统类型,必须实现ISystem接口 /// 要注册的系统实例 void RegisterSystem(T system) where T : ISystem; /// /// 注册模型实例到架构中 /// /// 模型类型,必须实现IModel接口 /// 要注册的模型实例 void RegisterModel(T model) where T : IModel; /// /// 注册工具实例到架构中 /// /// 工具类型,必须实现IUtility接口 /// 要注册的工具实例 void RegisterUtility(T utility) where T : IUtility; /// /// 安装架构模块 /// /// 要安装的模块 void InstallModule(IArchitectureModule module); /// /// 注册生命周期钩子 /// /// 生命周期钩子实例 void RegisterLifecycleHook(IArchitectureLifecycle hook); /// /// 获取架构上下文 /// IArchitectureContext Context { get; } /// /// 获取架构运行时实例 /// IArchitectureRuntime Runtime { get; } }