极客时间架构师训练营 - week3 - 作业 2

发布于: 2020 年 06 月 21 日

本周的两次课,主要讲的是软件设计、代码重构方面的内容,设计模式案例解析内容涉及著名的JUnit和Spring Framework,还有李老师此前做过的Hive语法解析项目。由于近期项目比较赶,端午节后就要交付,周内天天都要加班,周六也没能逃过,两次直播我都没能赶得上。今天花了半天看完了李老师的回放,这个点才开始写一下学习心得。首先我们这个要交付的项目,就如李老师所举的例子,初期缺乏设计,软件代码僵化,一有需求变动,就得改很多很多代码,明明只是数据库+Redis,本应该都是常规操作的,搞得人心力憔悴。初期接手这个工程的时候,我也只是肤浅的进行重构,抽取了历史代码中的重复部分。按照老师说的五大原则,即

  • 开闭原则,

  • 依赖倒置原则,

  • 里氏替换原则,

  • 单一职责原则,

  • 接口分离原则,

我们要牢记这些原则,其中比较容易贯彻的,应该是单一职责原则。我个人深有体会。一个冗余的类,分析 起来就会很累,在里面Debug,都很容易绕晕。后续开发工程时候,一定要考虑按职责进行拆分,这样各个模块可以有机的组合,看起来一目了然,Debug也能顺心执行。后续设计模式这块,我需要好好加强,在开发中不断思考,运用前辈们的设计经验。

在讲解Spring框架的原理的时候,李老师将IoC的原理和核心代码通过几行代码就说明白了,顺便讲解了单例模式,剖析了其实现的关键细节。李老师还透露说,部分面试场景会让面试者手写代码,平常都在IDE里开发的我,可能在这些场景里就会紧张,甚至写不出来,在准备面试的时候,可能还需要针对性练一练,基础知识需要非常熟悉,可能才会比较坦然吧。再讲解Hive语法解析项目时,李老师详尽地讲解了一个复杂的工程如何通过设计原则,进行的重构,这段看了好几遍回放,受益良多。

以上。

发布于: 2020 年 06 月 21 日 阅读数: 21
用户头像

jjn0703

关注

Java工程师/终身学习者 2018.03.26 加入

USTC硕士/健身健美爱好者/Java工程师.

评论

发布
暂无评论
极客时间架构师训练营 - week3 - 作业 2