方案的反复利用
建设并测试好一个类后,它应(从抱负的角度)代表一个有用的代码单元。但并不象很多人但愿的那样,这种反复利用的本领并不容易实现;它要求较多的履历以及洞察力,这样才气设计出一个好的方案,才有大概反复利用。
很多人认为代码或设计方案的反复利用是面向工具的措施设计提供的最伟大的一种杠杆。
为反复利用一个类,最简朴的步伐是仅直接利用谁人类的工具。但同时也能将谁人类的一个工具置入一个新类。我们把这叫作“建设一个成员工具”。新类可由任意数量和范例的其他工具组成。无论如何,只要新类到达了设计要求即可。这个观念叫作“组织”——在现有类的基本上组织一个新类。有时,我们也将组织称作“包括”干系,好比“一辆车包括了一个变速箱”。
工具的组织具有极大的机动性。新类的“成员工具”凡是设为“私有”(Private),利用这个类的客户措施员不能会见它们。这样一来,我们可在不滋扰客户代码的前提下,从容地修改那些成员。也可以在“运行期”变动成员,这进一步增大了机动性。后头要讲到的“担任”并不具备这种机动性,因为编译器必需对通过担任建设的类加以限制。
由于担任的重要性,所以在面向工具的措施设计中,它常常被重点强调。作为新插手这一规模的措施员,或者早已先入为主地认为“担任该当到处可见”。沿这种思路发生的设计将长短常鸠拙的,会大大增加措施的庞洪水平。相反,新建类的时候,首先应思量“组织”工具;这样做显得越发简朴和机动。操作工具的组织,我们的设计可保持清爽。一旦需要用到担任,就会明明意识到这一点。