Ph0*_*n1x 13 architecture oop design-patterns
我需要实现将从某些远程数据源检索数据的逻辑.现在我需要决定 - 我需要哪个概念:提供者,存储库或服务.
其实我不太了解那之间的所有巨大差异.是的,我知道存储库更具有数据特性,不应包含任何业务逻辑.除管理数据外,其他人的提供者可能包含一些业务规则.除了管理数据之外,服务还可以包含一些业务逻辑.那么Service和Provider之间有什么区别呢.
从另一个角度来看,我认为使用服务是一种更好的方法来表明它是远程访问的抽象.
总之:所有这些方法看起来都很合理,我完全与它混淆了.如果有人能帮助我,我将非常感激.
Nef*_*ron 12
存储库和服务不是互斥的.实际上,它们经常一起使用.
服务层位于域对象之上,为业务操作提供了一个课程粒度接口.它通常描述您的应用程序的用例.服务层使用存储库来获取域对象,并尽可能将进一步的执行委托给它们.
Repository的作用类似于持久域对象的集合.它提供了使用某些标准查找正确对象的方法.它还提供了保存这些对象的方法.
野外存储库的实现有很大不同.存储库可以提供类似的方法
Run Code Online (Sandbox Code Playgroud)List<Person> findPersonByName(String name)
或者使用标准对象的更通用的方法
Run Code Online (Sandbox Code Playgroud)List<Person> find(Criteria criteria)
我不熟悉Provider模式.