|
|
1
1
我也不会将存储库与实体混合,因为我希望实体不受任何上下文或环境状态的影响。我认为管理实体的存储是存储库的唯一责任。 如果实体之间存在依赖关系,会发生什么?例如,学校有学生。除非你救了学校,否则你不能救学生。你必须把这个逻辑构建到你的学生实体中。你的学生也会拯救学校吗?他们会拒绝拯救吗?他们需要检查学校的数据库吗?他们至少需要了解学校的一些情况,这样你就可以在学校和学生之间建立起一种依赖关系,这种依赖关系是很硬的。 然后你添加教师,你需要为他们添加类似的逻辑。然后,表示这些关系和依赖关系的代码将分布在多个实体中。想想交易。然后添加多个层。你看到这有多复杂吗?很快你就有了肉丸和奶酪意大利面! 了解这些东西是存储库的责任。 高温高压 干杯 |
|
|
2
0
从您的实体调用服务违反了单一责任原则。如果将来,你需要让你的实体从一个不同的后备仓库中补充水分,而不是你必须改变所有实体的服务。即使您正在注入存储库,它仍然违反SRP。 |
|
|
3
0
我不明白这种方法有什么问题,如果我想从say sql server换成oracle,我只需注册一个名为“oracleschoolrepository”的新存储库,它可以确保它满足ischoolrepository接口。 我看不出有什么问题吗?当上述问题出现时,您能突出显示一个场景吗? 谢谢! 本 |