diff --git a/GFramework.Core.Abstractions/architecture/IArchitecture.cs b/GFramework.Core.Abstractions/architecture/IArchitecture.cs index 332c6fc..c81f070 100644 --- a/GFramework.Core.Abstractions/architecture/IArchitecture.cs +++ b/GFramework.Core.Abstractions/architecture/IArchitecture.cs @@ -1,4 +1,4 @@ -using GFramework.Core.Abstractions.model; +using GFramework.Core.Abstractions.model; using GFramework.Core.Abstractions.system; using GFramework.Core.Abstractions.utility; @@ -56,11 +56,13 @@ public interface IArchitecture : IAsyncInitializable /// 安装架构模块 /// /// 要安装的模块 - void InstallModule(IArchitectureModule module); + /// 安装的模块实例 + IArchitectureModule InstallModule(IArchitectureModule module); /// /// 注册生命周期钩子 /// /// 生命周期钩子实例 - void RegisterLifecycleHook(IArchitectureLifecycle hook); + /// 注册的钩子实例 + IArchitectureLifecycle RegisterLifecycleHook(IArchitectureLifecycle hook); } \ No newline at end of file diff --git a/GFramework.Core/architecture/Architecture.cs b/GFramework.Core/architecture/Architecture.cs index a451f87..c4c038e 100644 --- a/GFramework.Core/architecture/Architecture.cs +++ b/GFramework.Core/architecture/Architecture.cs @@ -36,7 +36,8 @@ public abstract class Architecture( /// 安装架构模块 /// /// 要安装的模块 - public void InstallModule(IArchitectureModule module) + /// 安装的模块实例 + public IArchitectureModule InstallModule(IArchitectureModule module) { var name = module.GetType().Name; var logger = LoggerFactoryResolver.Provider.CreateLogger(name); @@ -45,6 +46,7 @@ public abstract class Architecture( Container.RegisterPlurality(module); module.Install(this); logger.Info($"Module installed: {name}"); + return module; } #endregion @@ -222,12 +224,14 @@ public abstract class Architecture( /// 注册生命周期钩子 /// /// 生命周期钩子实例 - public void RegisterLifecycleHook(IArchitectureLifecycle hook) + /// 注册的钩子实例 + public IArchitectureLifecycle RegisterLifecycleHook(IArchitectureLifecycle hook) { if (CurrentPhase >= ArchitecturePhase.Ready && !Configuration.ArchitectureProperties.AllowLateRegistration) throw new InvalidOperationException( "Cannot register lifecycle hook after architecture is Ready"); _lifecycleHooks.Add(hook); + return hook; } ///