将存储库层用作服务层的最佳实践是什么?
Repository1 -> Service1 - \
> Service3
Repository2 -> Service2 - /
OR
Repository1 -\
> Service1
Repository2 -/
答案 0 :(得分:1)
我更喜欢您的第一个解决方案。一个存储库->一个服务。
SOLID 助记符中的S是单一职责原则。
如果您向一项服务注入两个存储库,则不是每个课程一项责任。
答案 1 :(得分:1)
我认为解决方案2很好。
服务可以执行需要2-3个存储库的事务。 从用户的角度来看,服务更像是一项交易。
那是我的想法。
答案 2 :(得分:1)
这取决于您的代码样式: 您可以按组件或逻辑流程进行编码。从答案中可以看出,这是完全有争议的。更加模块化的方法是通过某种特征将实现完全分开。但总的来说,更重要的是:您必须在团队中编码还是“单人项目”?如果这是您的项目,请按照您认为更好的方式执行(组件,逻辑流程),但是如果您是团队成员,则必须模块化。许多程序员更喜欢在不使用dao层(甚至服务)的情况下集中精力编写代码,因此代码虽然更轻巧,但是却很杂乱!作为个人选择,我喜欢第二个示例。