架构师训练营 - 第二周 - 学习总结
1.编程语言演进的过程
纸带打孔->汇编(面向劳动工具)->面向过程(面向劳动者)->面向对象编程(面向劳动对象)
2.面向对象的三大特性
封装、继承、多态
不是使用面向对象语言,就是在进行面向对向编程,面向对向编程要利用好多态的能力
3.面向对象设计的基本原则
为了达到强内聚、低耦合,需要:
易扩展 ---相反--->僵硬
更强壮 ---相反 --->改了A动了B
可移植 ----相反 --->不好移植,牵一发动全身
更简单 --- 相反--->难理解,容易用错
需要多反思,多回顾自己的程序:
是否需求变更、添加新特性时,需要动原有代码
是否用到了较多的if else条件判断,有新的场景时又要新增一个,相当不易维护
4.SOLID原则
S 单一职责
O 开放扩展,关闭修改
L 里氏替换,使用父类的地方,都可以使用子类进行替换
I 接口隔离原则 使用者只需要关注自己需要用到的接口
D 依赖倒置原则 依赖于抽象,而不依赖具体实现,高层不能依赖于低层 由使用者来定义自己需要的接口
评论