架构师训练营第二周总结

用户头像
Geek_2dfa9a
关注
发布于: 2020 年 06 月 17 日
架构师训练营第二周总结

半路出家的程序员最怕两门课:数据结构和算法,设计原则和设计模式,没想到噩梦第二周就来了。许多同学比较排斥概念的学习,但是我觉得概念的学习非常重要,要注意概念里的关键字才能更好应用到实践中,尤其是比你厉害的人带你学习概念,这样才能才能知道哪些关键字是重点。

本周主要学习的是面向对象设计的SOLID原则:开闭原则、依赖反转、里氏替换、单一职责以及接口隔离。SOLID是使软件易于维护一定要遵循的原则。

首先是开闭原则,开闭原则强调代码要对扩展开放,对修改关闭。老师举的按键拨号例子很好的表达了这个原则,并且提出了一个思路:只要代码里有if-else肯定是有问题的。对于这点我有些怀疑,老师给出的解释是有一个else就意味着需求更改时就可能会有第二个else,第三个第四个甚至更多,我认为只要逻辑简单时没有必要一定要用设计模式去掉if-else,可以先简单设计,等逻辑复杂时再找更合适的设计。

依赖倒置原则颠覆了我之前的想法,我之前从来没有注意到类库和框架有什么区别,直到老师提出了类库是你去调用它,框架是他来调用你我才恍然大悟,但是我还是有些疑惑,我觉得

框架和类库的区别只是控制反转,而控制反转和依赖倒置是不一样的,依赖倒置强调高层模块和底层模块的依赖关系,高层不依赖底层,两者依赖统一的抽象接口。抽象不依赖实现,实现依赖抽象。而控制反转则强调程序运行的流程控制的反转。

里氏替换和单一职责和接口隔离没什么特别的体会了。老师说先体会到设计之美,再理解设计模式就会非常简单了。我现在也开始重新学习设计模式了,希望之后能有更大的进步,可以设计出更适应变化的代码。



用户头像

Geek_2dfa9a

关注

还未添加个人签名 2019.02.18 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第二周总结