拥有一个设计良好的域,具有不相互引用的聚合,明确定义的边界和具有明确定义的对象引用的聚合对象,为什么在存储库中具有事务逻辑是一种不好的做法(为每个域创建一个存储库目的)?
在回答 UoW 模式之前,请考虑这个问题 UoW limitation .
最佳答案
因为典型的事务通常跨越多个存储库。当您在同一笔交易中出售您想要的产品时,
- 减少库存中的元素数量 (StockRepository)
- 创建订单(OrderRepository)
- 创建装运(ShipmentRepository)
而且您真的希望所有这些要么成功要么失败。
关于design-patterns - 为什么存储库不应该包含事务逻辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640605/