1.确定公共接口
1)公共接口要尽可能地小
      构建一个类的目的是提供有用并且简明的功能,提供最小的公共接口就是使这个类尽可能地简明。

2.设计健壮的构造函数(或者析构函数)
1)构造函数应该将对象置于一个安全的状态
   属性初始化、内存管理
   垃圾回收机制
   内存泄漏

3.将错误处理融入到一个类的设计中
1)文档化、使用注释
2)对象间的交互

4.复用

5.扩展性
1)命名规范
2)抽象出不可移植的代码
      将不可移植的代码隔离在自己的私有类中
3)复制和比较对象
4)确保作用域尽可能地小
5)一个类应该对它自身负责(A Class Should Be Responsible for Itself)
      if/else
      多态

6.维护性
   减少相互依赖的代码,一个类的修改应该对另一个类没有或只有很小的影响
   松耦合
1)使用叠代
2)测试接口
      接口的最小化实现通常被称作stubs

7.使用对象持久化
   对象序列化