每个对象都提供服务
当试图开发或理解一个程序时,最好的方法之一就是将对象想象为”服务提供者”,程序本身将向用户提供服务.它将通过调用其他对象提供的服务来实现这一目的.我们的目标就是去创建(或者是在现有的代码库中寻找)能够提供理想的服务来解决问题的一系列对象.
“如果我可以将问题从表象中抽取出来,那么什么想的对象可以马上解决我的问题?”
例如:
假如正在创建一个簿记系统,那么可以想象.系统应该具有某些包括了预定义的簿记输入屏幕的对象,一个执行簿记计算的对象集合,以及一个处理在不同的打印机上打印支票和开发票的对象.
也许这些对象中的某些已经存在了,但是对于那些不存在的对象,那么(将对象分解为对象集合.):
) 它们看起来像什么样子呢?
) 它们能提供哪些服务?
) 它们需要哪些对象才能履行它们的义务?
将对象看作是服务提供者的好处:有助于提高对象的内聚性,