using GFramework.Core.Abstractions.command;
using GFramework.Core.Abstractions.events;
using GFramework.Core.Abstractions.ioc;
using GFramework.Core.Abstractions.query;
using GFramework.Core.Abstractions.rule;
namespace GFramework.Core.Abstractions.architecture;
///
/// 架构服务接口,定义了框架核心架构所需的服务组件
///
public interface IArchitectureServices : IContextAware
{
///
/// 获取依赖注入容器
///
/// IIocContainer类型的依赖注入容器实例
IIocContainer Container { get; }
///
/// 获取类型事件系统
///
/// ITypeEventSystem类型的事件系统实例
IEventBus EventBus { get; }
///
/// 获取命令总线
///
public ICommandBus CommandBus { get; }
///
/// 获取查询总线
///
public IQueryBus QueryBus { get; }
}