.net 我应该在cqrs处理程序中使用服务还是仓库?

col17t5w  于 2022-11-26  发布在  .NET
关注(0)|答案(1)|浏览(174)

我有一个项目,我使用媒体,CQRS和洋葱架构。

public class CreateOrderCommandHandler : IRequestHandler<CreateOrderCommand, CreatedOrderDto>
{
    private readonly IOrderRepository _orderRepository;
    private readonly IProductRepository _productRepository;
    private readonly IMapper _mapper;

    public CreateOrderCommandHandler(IOrderRepository orderRepository,IProductRepository 
                                     productRepository,  IMapper mapper)
    {
        _orderRepository = orderRepository;
        _productRepository = productRepository;
        _mapper = mapper;  
    }

    public async Task<CreatedOrderDto> Handle(CreateOrderCommand request, CancellationToken 
                                            cancellationToken)
    {
        // _orderRepository.Add(order);
        // _ productRepository.Update(product);
    }

}

CreateOrder命令是否应依赖于产品服务而不是产品资料档案库?
是否应在处理程序中使用存储库?

pjngdqdw

pjngdqdw1#

根据问题中的代码,它应该依赖于ProductRepository,而不是服务,服务是类的集合,而仓库表示单个类,因此您不能注入服务,但可以注入仓库。
顺便说一下,我在您的代码中看不到任何Product Service

相关问题