- 从需求到设计的转换并不容易
- 将设计追溯至需求
- 评估备选方案
- 没有文档的设计不是设计
- 封装
- 不要重复造轮子
- 保持简单
- 避免大量的特殊案例
- 缩小智力距离
- 将设计置于知识控制之下
- 保持概念一致
- 概念性错误比语法错误更严重。
- 使用耦合和内聚
- 为变化而设计
- 为维护而设计
- 为防止出现错误而设计
- 在软件中植入通用性
- 在软件中植入灵活性
- 使用高效的算法
- 模块规格说明只提供用户需要的所有信息
- 设计是多维的。
- 优秀的设计出自优秀的设计师
- 理解你的应用场景
- 无须太多投资,即可实现复用。
- “错进错出”是不正确的。
- 软件可靠性可以通过冗余来实现。