两方面的含义:一是尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类),二是如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。Р9.1 面向对象设计的准则РР9.2 启发规则Р1.设计结果应该清晰易懂? 使设计结果清晰、易读、易懂,是提高软件可维护性和可重用性的重要措施。?(1)用词一致? 应该使名字与它所代表的事物一致,而且应该尽量使用人们习惯的名字。不同类中相似服务的名字应该相同。?(2)使用已有的协议? 如果开发同一软件的其他设计人员已经建立了类的协议,或者在所使用的类库中已有相应的协议,则应该使用这些已有的协议。РР(3)减少消息模式的数目? 如果已有标准的消息协议,设计人员应该遵守这些协议。如果确需自己建立消息协议,则应该尽量减少消息模式的数目。只要可能,就使消息具有一致的模式,以利于读者理解。?(4)避免模糊的定义? 一个类的用途应该是有限的,而且通过类名应该可以较容易地推想出它的用途。Р9.2 启发规则РР2.一般/特殊结构的深度应适当? 应该使类等级中包含的层次数适当。一般来说,在一个中等规模(大约包含100个类)的系统中,类等级层次数应保持为7±2。不应该仅仅从方便编码的角度出发随意创建派生类,应该使一般/特殊结构与领域知识或常识保持一致。Р9.2 启发规则РР3.设计简单的类? 应该尽量设计小而简单的类,以便于开发和管理。当类比较庞大的时候,要记住它的所有服务是非常困难的。为保持类的简单,应该注意以下几点。?(1)避免包含过多的属性? 属性过多通常表明这个类过分复杂了,它所完成的功能可能太多了。?(2)有明确的定义? 为了使类的定义明确,分配给每个类的任务应该简单,最好能用一两个简单语句描述它的任务。Р9.2 启发规则