using GFramework.Core.Abstractions.Architectures; using GFramework.Core.Abstractions.Logging; namespace GFramework.Core.Architectures; /// /// 架构模块管理器 /// 负责管理架构模块的安装和中介行为注册 /// internal sealed class ArchitectureModules( IArchitecture architecture, IArchitectureServices services, ILogger logger) { /// /// 注册中介行为管道 /// 用于配置Mediator框架的行为拦截和处理逻辑 /// /// 行为类型,必须是引用类型 public void RegisterMediatorBehavior() where TBehavior : class { logger.Debug($"Registering mediator behavior: {typeof(TBehavior).Name}"); services.Container.RegisterMediatorBehavior(); } /// /// 安装架构模块 /// /// 要安装的模块 /// 安装的模块实例 public IArchitectureModule InstallModule(IArchitectureModule module) { var name = module.GetType().Name; logger.Debug($"Installing module: {name}"); module.Install(architecture); logger.Info($"Module installed: {name}"); return module; } }