GeWuYou 5c5525e3e9 refactor(architecture): 简化模块注册接口并增强配置管理
- 移除 RegisterBuiltInModules 方法中的 ArchitectureProperties 参数
- 更新 ArchitectureModuleRegistry 使用 ConcurrentDictionary 存储模块工厂
- 实现模块注册的幂等性检查,相同模块名只注册一次
- 为 ArchEcsModule 添加 ArchOptions 配置类支持
- 更新 UseArch 扩展方法传递配置选项给 ArchEcsModule
- 移除废弃的 properties 命名空间引用
- 添加显式注册集成测试验证模块配置功能
2026-03-08 20:47:26 +08:00

40 lines
1.3 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using GFramework.Core.Abstractions.ioc;
namespace GFramework.Core.Abstractions.architecture;
/// <summary>
/// 服务模块管理器接口,用于管理架构中的服务模块。
/// </summary>
public interface IServiceModuleManager
{
/// <summary>
/// 注册一个服务模块。
/// </summary>
/// <param name="module">要注册的服务模块实例。</param>
void RegisterModule(IServiceModule module);
/// <summary>
/// 注册内置的服务模块。
/// </summary>
/// <param name="container">IoC容器实例用于解析依赖。</param>
void RegisterBuiltInModules(IIocContainer container);
/// <summary>
/// 获取所有已注册的服务模块。
/// </summary>
/// <returns>只读的服务模块列表。</returns>
IReadOnlyList<IServiceModule> GetModules();
/// <summary>
/// 异步初始化所有已注册的服务模块。
/// </summary>
/// <param name="asyncMode">是否以异步模式初始化模块。</param>
/// <returns>表示异步操作的任务。</returns>
Task InitializeAllAsync(bool asyncMode);
/// <summary>
/// 异步销毁所有已注册的服务模块。
/// </summary>
/// <returns>表示异步操作的值任务。</returns>
ValueTask DestroyAllAsync();
}