我有一个项目,我使用媒体,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命令是否应依赖于产品服务而不是产品资料档案库?
是否应在处理程序中使用存储库?
1条答案
按热度按时间pjngdqdw1#
根据问题中的代码,它应该依赖于
ProductRepository
,而不是服务,服务是类的集合,而仓库表示单个类,因此您不能注入服务,但可以注入仓库。顺便说一下,我在您的代码中看不到任何
Product Service
。