2020.09.21-2020.09.27 学习总结
本周学习目标
设计原则:开闭原则、依赖倒置原则、接口隔离原则、里氏替换原则 以及 单一职责原则
理解定义
开闭原则:面向扩展开放,面向修改关闭。如何做到这个原则?通过抽象,减少类与类之间的直接耦合,需求改动时只需扩展抽象,实现不受影响。
依赖倒置原则:高层依赖抽象,低层实现抽象,高层的实现不再依赖于低层,框架设计的核心所在。
接口隔离原则:不应该强迫客户依赖他们不需要的方法,只给客户提供他们需要的接口。
里氏替换原则:父类存在的地方都可以使用子类进行替换,并且程序的功能行为不能发生改变。
如何应用
多审视自己和别人的代码,为什么在阅读有些代码的过程中感到晦涩,逻辑混乱,问题在在哪?没有遵循哪些设计原则造成的?如果是自己来实现,如何改进。如何在满足需求的同时,提高设计的扩展性,但又不进行过度设计?
本周收获
设计原则过去也学习过很多遍,但在实际应用的过程中理解不深入,并不能完全做到学以致用,在实际写代码的过程中有时候为了图快,还是欠思考,当回过头再看自己的代码的时候,也常常觉得结构不清晰,在一段代码中总是想表达太多细节,别人看了后也很难理解,发生这些问题的原因还是在写代码前思考的不够,边写边改,虽然功能上没有问题,但回过头看有时候理解成本有些高。
在进行功能设计时,有时又会发生过度设计的问题,导致抽象的层次过多,复杂度增加,但实际用途却并不大的问题。
评论