架构师训练营 第 2 周总结

用户头像
Lingjun
关注
发布于: 2020 年 06 月 16 日

本周的学习有以下一些感悟。

什么是依赖倒置?

在框架设计中,高层决定接口,低层去实现,框架的核心是定义规则,而不是提供一堆接口。

一些自己的理解:依赖倒置主要是指导框架层面的设计,和我们平时一条线写下来的 controller,service 和 dao 的业务代码之间的依赖关系还是有点区别的,后者是在整个框架中运行的一部分,除非能再抽象出一套规范,比如工作流规范等,形成自己的一套框架。

框架与工具的区别

依赖倒置原则是指导框架层面的设计的,它类似于好莱坞原则(你不要来调我,我会来调用你)。因此框架是你按我的规则写代码,我会来调用你的。

而工具则是我提供功能,你来调用我。

举例:

JUnit 是框架,我们按规则写 test 类和方法,由 JUnit 来调用执行。

Log4j 是工具,我们直接调用它提供的功能方法即可。

一些感悟
  • 架构师要能破局,在项目处于刚开始阶段,或者进入了一个方向不是很明确的状态时,架构师要能够打破僵局,寻求突破。

  • 优秀的程序员/架构师是欢迎需求变更的,因为他/她做的设计就是为了需求变更而设计的。

  • 想要敏捷开发,首先必须要保证设计是敏捷的,不然再敏捷的方法,代码一团糟,怎么也敏捷不起来(一个类几千行代码如何敏捷起来?)。就比如,Bob大叔的《敏捷软件开发》一书主要讲的是设计层面的,而非敏捷实施的方法论,正是体现出了设计的重要性。

  • 本质上敏捷既需要项目管理上的敏捷,更要有基于敏捷的设计。

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

Lingjun

关注

还未添加个人签名 2018.11.22 加入

还未添加个人简介

评论

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