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

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

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

  • 开闭原则,
  • 依赖倒置原则,
  • 里氏替换原则,
  • 单一职责原则,
  • 接口分离原则,

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

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

以上。


目录
相关文章
|
10月前
|
机器学习/深度学习 算法 安全
隐私计算训练营第三讲-详解隐私计算的架构和技术要点
SecretFlow 是一个隐私保护的统一框架,用于数据分析和机器学习,支持MPC、HE、TEE等隐私计算技术。它提供设备抽象、计算图表示和基于图的ML/DL能力,适应数据水平、垂直和混合分割场景。产品层包括SecretPad(快速体验核心能力)和SecretNote(开发工具)。算法层涉及PSI、PIR、数据分析和联邦学习(水平、垂直、混合)。此外,SecretFlow还有YACL密码库和Kusica任务调度框架,Kusica提供轻量化部署、跨域通信和统一API接口。
269 0
|
消息中间件 缓存 NoSQL
|
消息中间件 存储 关系型数据库
极客时间架构实战营作业八
极客时间架构实战营作业八
188 0
|
消息中间件 Java 中间件
极客时间架构实战营作业六
极客时间架构实战营作业六
158 0
|
资源调度 分布式计算 调度
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
Fink--3、Flink运行时架构(并行度、算子链、任务槽、作业提交流程)
|
容灾 网络协议
极客时间架构实战营模块 7 作业
极客时间架构实战营模块 7 作业
98 0
|
存储 缓存 负载均衡
极客时间架构实战营作业五
极客时间架构实战营作业五
167 0
|
存储 JSON NoSQL
极客时间架构实战营作业四
极客时间架构实战营作业四
137 0
|
3月前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
4月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
86 3

热门文章

最新文章