假设我有两个服务类,使用以下方法:
现在,我正在考虑这些课程的美学。 想象一下,我们想要实现一个搜索特定组的所有用户的方法。 哪种服务类负责这种方法?
我的意思是,返回值是用户(或者可能是用户的集合),但参数(表示组的名称)是一个组。 那么哪个服务类是放置此方法的更好的地方?
答案 0 :(得分:2)
两者都不是。该方法属于类Group,由createGroup()和findGroup()返回。但是,如果只有这两个服务是您的选择,请使用GroupService,因为GroupService的所有参数都将组名称作为参数。更改方法的返回类型比参数更常见。
答案 1 :(得分:2)
我建议使用用户服务,因为您正在请求用户实体。服务应该保护消费者免受实现细节(持久性机制等)的影响,如果用户是从组服务返回的,则需要了解用户的持久性。
答案 2 :(得分:1)
取决于您的想法,如果您想搜索具有特定群组的用户,那么实际上您想要对具有特定条件的用户进行一些搜索,因此最好将其置于用户服务中,但如果您想要要从集团获得一些房产,最好把它放在集体服务中,你应该展示你的班级签名和他们的责任。
答案 3 :(得分:1)
我会创建另一个名为“Membership”的类,并拥有搜索特定用户所属的组或组中的用户的方法。我倾向于在大量小班级方面犯错,而不是少数大班级。