设计中的启发式方法:
1寻找现实世界中的事物
2形成一致的抽象
3封装实现细节
4在可能的情况下继承
5藏住秘密(信息隐藏)
6找出容易改变的区域
7保持松散耦合
8探寻通用的设计模式
9高内聚性:内聚性指的是类内部的子程序或者子程序内部的代码在支持一个中心目标上的紧密程度---这个类的目标是否集中。包含一组密切相关的功能的类被称为有着高内聚性。
10构造分层结构
11严格描述类契约
12分配指责
13为测试而设计:为测试而设计很容易产生更为规整的类接口,而这通常是有益处的。
14借鉴失败的案例来避免错误
15有意识的选择绑定时间:指的是将特定的值绑定到某一变量的时间。早绑定会导致缺少灵活性。
16创建中央控制点(不太理解)
17考虑使用蛮力(不太理解)
18画图帮助理解
19保持设计模块化。