架构师训练营 - 第二周 - 总结
面向对象设计目标:高内聚、低耦合
易扩展:易于扩展新功能
更强壮:不容易被粗心的程序员破坏
可移植:能够运行在多样的环境中
更简单:容易理解、容易维护
坏软件的臭味:
僵硬:依赖太多、导致连锁改动
脆弱:修改会导致无关的地方出现错误
不可移植
导致误用的陷阱
晦涩、过度设计、复制的代码
面向对象设计(OOD)原则:
1、开/闭原则:对于扩展是开放的,对于更改是封闭的。
2、依赖倒置原则:
高层模块不能依赖于低层模块,大家都依赖抽象
抽象不能依赖实现,而是实现依赖抽象
好莱坞原则
3、Liskov替换原则:
子类型必须能替换掉他们的父类型
必须符合IS-A关系
能否替换要基于使用场景
4、单一职责原则:
一个职责是一个引起变化的原因
一个类应该只有一个引起他变化的原因
5、接口分离原则:
不应该强迫应用程序依赖他们不需要的方法
评论