mirror of
https://github.com/GeWuYou/GFramework.git
synced 2026-03-23 11:14:30 +08:00
- 在Architecture类中添加AsyncQueryBus属性 - 在ArchitectureContext中添加异步查询执行方法SendQueryAsync - 在ArchitectureServices中添加AsyncQueryBus服务实例 - 扩展IArchitectureContext接口以包含异步查询方法 - 扩展IArchitectureServices接口以包含异步查询总线 - 更新ArchitectureContext构造函数以接受异步查询总线参数 - 为ArchitectureContextTests添加异步查询总线相关测试用例 - 更新测试中的构造函数调用以包含新的异步查询总线参数
64 lines
1.8 KiB
C#
64 lines
1.8 KiB
C#
using GFramework.Core.Abstractions.architecture;
|
|
using GFramework.Core.Abstractions.command;
|
|
using GFramework.Core.Abstractions.events;
|
|
using GFramework.Core.Abstractions.ioc;
|
|
using GFramework.Core.Abstractions.query;
|
|
using GFramework.Core.command;
|
|
using GFramework.Core.events;
|
|
using GFramework.Core.ioc;
|
|
using GFramework.Core.query;
|
|
using IAsyncQueryBus = GFramework.Core.Abstractions.query.IAsyncQueryBus;
|
|
|
|
namespace GFramework.Core.architecture;
|
|
|
|
/// <summary>
|
|
/// 架构服务类,提供依赖注入容器、事件系统、命令总线和查询总线等核心服务
|
|
/// </summary>
|
|
public class ArchitectureServices : IArchitectureServices
|
|
{
|
|
private IArchitectureContext _context = null!;
|
|
|
|
/// <summary>
|
|
/// 获取依赖注入容器
|
|
/// </summary>
|
|
public IIocContainer Container { get; } = new IocContainer();
|
|
|
|
/// <summary>
|
|
/// 获取类型事件系统
|
|
/// </summary>
|
|
public IEventBus EventBus { get; } = new EventBus();
|
|
|
|
/// <summary>
|
|
/// 获取命令总线
|
|
/// </summary>
|
|
public ICommandBus CommandBus { get; } = new CommandBus();
|
|
|
|
/// <summary>
|
|
/// 获取查询总线
|
|
/// </summary>
|
|
public IQueryBus QueryBus { get; } = new QueryBus();
|
|
|
|
/// <summary>
|
|
/// 获取异步查询总线
|
|
/// </summary>
|
|
public IAsyncQueryBus AsyncQueryBus { get; } = new AsyncQueryBus();
|
|
|
|
/// <summary>
|
|
/// 设置架构上下文
|
|
/// </summary>
|
|
/// <param name="context">架构上下文对象</param>
|
|
public void SetContext(IArchitectureContext context)
|
|
{
|
|
_context = context;
|
|
Container.SetContext(context);
|
|
}
|
|
|
|
/// <summary>
|
|
/// 获取架构上下文
|
|
/// </summary>
|
|
/// <returns>架构上下文对象</returns>
|
|
public IArchitectureContext GetContext()
|
|
{
|
|
return _context;
|
|
}
|
|
} |