1. 软件构造眼中的设计
- 关键概念:设计与构造的边界不明显,设计中的挑战,危险和试错,混乱的过程和“整洁”的结果。
- 解释:软件设计和构造是相互交织的过程,设计阶段的决策会影响构造阶段,反之亦然。
- 关键概念:管理复杂度、好的设计原则(如最小复杂度、易于维护、松散耦合等)。
- 解释:高质量代码应易于理解和维护,设计时应考虑减少复杂性,提高代码的可读性和可维护性。
如何设计?
1)面向对象设计:
- 确定对象和属性
- 确定对象操作
- 确定对象的可见部分(private、public)
- 确定对象的接口
2)抽象、封装、继承:
- 关键概念:抽象、封装、继承、信息隐藏。
- 解释:
- 抽象:提取共同特征,忽略细节。
- 封装:将数据和操作数据的方法组合在一起,隐藏内部实现。
- 继承:允许新类继承现有类的属性和方法。
- 信息隐藏:隐藏对象的内部状态和实现细节。
3)松散耦合
耦合类型
• 简单数据参数耦合,simple-data-parameter coupling
• 简单对象耦合, simple-object coupling
• 对象参数耦合, object-parameter coupling
• 语义耦合, semantic coupling
4) 设计模式