2007/03 4
创建高质量的类,第一步,可能也是最重要的一步是创建一个好的接口。这也包括了创建一个可以通过接口来展现的合理抽象,并确保细节仍被隐藏在抽象背后。
抽象通过提供一个可以让你忽略实现细节的模型来管理复杂度,而封装则强制阻止你看到细节。

创建类的抽象接口的指导建议:
* 类的接口应该展现一直的抽象层次。
* 一定要理解类所实现的抽象是什么
* 提供成对的服务
* 把不相关的信息装一道其他类中
* 尽可能让接口可变成,而不是表达语义
* 谨防在修改时破快就口的抽象
* 不要添加与接口抽象不一致的公用成员
* 同时考虑抽象性和内聚性

良好的封装的指导建议:
* 尽可能地限制类和成员的可访问性
* 不要公开暴露成员数据
* 避免把私用的实现细节放入类的接口中
* 不要对类的使用着作出任何假设
* 避免使用友元类(friend class C++)
* 不要因为一个子程序里仅使用公用自程序,就把它归入公开接口
* 让阅读代码比编写代码更方便
* 要格外警惕从语义上破快封装性
* 留意过意紧密的耦合关系


知识来源:《代码大全2》 P133-143
Defined tags for this entry:

Posted by rollenc

0 Trackbacks

  1. No Trackbacks

0 Comments

Display comments as(Linear | Threaded)
  1. No comments

Add Comment


You can use [geshi lang=lang_name [,ln={y|n}]][/lang] tags to embed source code snippets
E-Mail addresses will not be displayed and will only be used for E-Mail notifications