mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-22 19:03:29 +08:00
- 移除 RegisterBuiltInModules 方法中的 ArchitectureProperties 参数 - 更新 ArchitectureModuleRegistry 使用 ConcurrentDictionary 存储模块工厂 - 实现模块注册的幂等性检查,相同模块名只注册一次 - 为 ArchEcsModule 添加 ArchOptions 配置类支持 - 更新 UseArch 扩展方法传递配置选项给 ArchEcsModule - 移除废弃的 properties 命名空间引用 - 添加显式注册集成测试验证模块配置功能
40 lines
1.3 KiB
C#
40 lines
1.3 KiB
C#
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();
|
||
} |