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;
}
///