【正确答案】(1)首先检查每个服务在系统中是否真正需要。任何一个有用的服务,或者直接提供某种系统责任所要求的功能,或者响应其他对象服务的请求而间接地完成这种功能的某些局部操作。如果系统边界以外的活动者和系统的其他部分都不会请求这种服务,则这个服务是无用的,应丢弃。
(2)其次是检查每个服务是不是高内聚的。所谓高内聚是指一个服务只完成一项明确定义的、完整而单一的功能,没有出现在一项服务内完成多个功能的现象。如果在一个服务中包括了多项可独立定义的功能,则它是低内聚,应尝试把它分解为多个服务。另一种低内聚的情况是把一个独立的功能分割到多个对象服务中去完成,对这种情况应加以合并,使一个服务对它的请求者体现一个完整的行为。
【答案解析】