using GFramework.Core.Abstractions.Architectures;
using GFramework.Core.Abstractions.Ioc;
using GFramework.Core.Events;
namespace GFramework.Core.Services.Modules;
///
/// 事件总线模块,用于注册和管理事件总线服务。
/// 该模块负责将事件总线注册到依赖注入容器中,并提供初始化和销毁功能。
///
public sealed class EventBusModule : IServiceModule
{
///
/// 获取模块名称。
///
public string ModuleName => nameof(EventBusModule);
///
/// 获取模块优先级,数值越小优先级越高。
///
public int Priority => 10;
///
/// 获取模块启用状态,始终返回 true 表示该模块默认启用。
///
public bool IsEnabled => true;
///
/// 注册事件总线到依赖注入容器。
/// 创建事件总线实例并将其注册为多例服务。
///
/// 依赖注入容器实例。
public void Register(IIocContainer container)
{
container.RegisterPlurality(new EventBus());
}
///
/// 初始化模块。
/// 当前实现为空,因为事件总线无需额外初始化逻辑。
///
public void Initialize()
{
}
///
/// 异步销毁模块。
/// 当前实现为空,因为事件总线无需特殊销毁逻辑。
///
/// 表示异步操作完成的任务。
public ValueTask DestroyAsync()
{
return ValueTask.CompletedTask;
}
}