架构师训练营第 2 周总结
一、 软件开发史
(1) 编程的本质是用计算机来解决现实世界的问题,编程语言是一种抽象机制。

(2) 面向对象编程: 对象具有状态、行为和标识。 同时具有三个特征: 封装、继承、多态。
二、面向对象设计原则:
软件设计的“臭味”:僵硬、脆弱、不可移植、导致误用的陷阱、晦涩、过度设计'copy-paste' 代码。
- OOD 原则一: 开闭原则(OCP) 
- 扩展是开发的 
- 更改是封闭的 
如何实现不修改源代码而扩展:
- 方法一: 抽象 
- 方法二: 策略模式 
- 方法三: 适配器模式 
- 方法四: 观察者模式 
- OOD 原则二:依赖倒置原则(DIP) 

- 高层模块不能依赖低层模块,而是大家都依赖于抽象 
- 抽象不能依赖实现,而是实现依赖抽象。 
遵循好莱坞规则: Don't call me, I'll call you.
- OOD原则三: Liskov 替换原则(LSP) 
实现OCP 的关键在于抽象, 而抽象的威力在于多态和继承。一个正确的继承要符合什么要求: 里氏替换原则。
- OOD原则四: 单一职责原则(SRP - Single Responsibility Principle) 
- '内聚性原则' 即一个模块的组成元素之间的功能相关性 
- 一个类,只能有一个引起它变化的原因 
即: 一个职责是一个变化的原因。
- OOD原则五:接口分离原则(ISP - Interface Segregation Principle) 
- 不应该强迫客户程序依赖他们不需要的方法 











 
    
评论