我有一大堆不同实体的Java服务器应用程序。到目前为止,每个实体顶级实体都有其自己的CRUD服务。就顶级而言,我的意思是能够独立存在的实体树的根。在服务层组织服务?
现在我进入了我的Flex客户端的核心,并发现我需要/写许多不同的查询。但是最好放置这些查询?
说例如,我有一个查询来查找所有“foos”基于他们与某个“栏”的关联。目前该查询位于“foo”服务(findAllByBar)上,但我发现在“bar”服务(findFoos)中使用它(也是?)会非常方便。另一方面,我也可以创建一个查询服务并将所有查询包含在那里。
这是一个很好的做法吗?
这就是我今天的情况,但考虑客户作为客户实体并且想要获得订单的情况。这应该成为客户服务的新发现者还是客户应该调用您已经拥有的订单服务的查询? – HDave
如果具有客户实体的视图生成请求客户订单的事件,那么它真的会使哪个类满足该请求?视图不需要知道这是怎么发生的,并且服务不应该知道请求发起的地点或者请求的对象知道关于情况的其他信息。 –
HDave:您会在订单服务中添加查找器以查找客户的订单..因为您需要的实体是订单,所以订单服务是提供此信息的适当位置..您也可以考虑将查询服务与商业运营服务类的CQRS理论..所以你可以在OrderQueryService和OrderService –