《架构整洁之道》有感

栏目: 后端 · 发布时间: 6年前

内容简介:最近,朋友圈都在晒 Uncle Bob 的新书《Clean Architecture》(中文名《架构整洁之道》)的相关内容,书架上也因此新增了一本书。阅读了之后,倒是产生了一些想法,便想写篇文章记录一下。与书本身的架构部分的内容相比,这本书最吸、启发我的地方,怕是不同的编程时期,对于软件架构的看法是不一样的。过去,我们要面对的是,一行行代码构成的面条式代码,系统处于混沌架构的形式。提取、整理、总结出 MVC 架构之后,应用的架构变得明朗。但是,随着时间的增长,又变成臃肿的单体应用。按业务(领域)拆分出代码

最近,朋友圈都在晒 Uncle Bob 的新书《Clean Architecture》(中文名《架构整洁之道》)的相关内容,书架上也因此新增了一本书。阅读了之后,倒是产生了一些想法,便想写篇文章记录一下。

编程的年限

与书本身的架构部分的内容相比,这本书最吸、启发我的地方,怕是 结尾的 《架构设计考古》相关的故事 。编程年限时间越长,经常思考更好的解决方式,能收获到的知识也就越多。如果我们不能决定一个系统的架构,那么就思考、实践如何把它变好。过程中,大抵也是能收获更多的东西,对下一个系统有更多的启发。

不同的编程时期,对于软件架构的看法是不一样的。过去,我们要面对的是,一行行代码构成的面条式代码,系统处于混沌架构的形式。提取、整理、总结出 MVC 架构之后,应用的架构变得明朗。但是,随着时间的增长,又变成臃肿的单体应用。按业务(领域)拆分出代码,拆分出业务模块,变成一个个的服务。到了今天,我们开始提及演进式架构,以变化的心态,应对软件架构带来的变化。

软件架构总是要变的,重要的 不是设计出好的架构,而是让架构和开发人员适应变化

从结尾的考古故事里,可以看出:国外的技术人员到底和国内的技术人员,还是有上那么一些差距——对外输出上的差距。90 年代的中国程序员,没能为国内的开发者留下多少经验,这一点倒是颇为遗憾的。一来可能是没有记录下来,很多故事只能从内部知道;二来则是不能持续地记录,随着时间的推移,便被潮流覆盖。Robert C·Martin、Martin Fowler、Joel Spolsky、Jeff Atwood 等知名的程序员,写了大量的技术文章。从这点上来,倒是可以和国内的技术氛围形成了对比。

可一如村上春树在《我的职业是小说家》所讲述的故事,有些富有才华的年轻人,总是 “消逝” 得非常快——是他/她们在这一领域的时间太短了,昙花一现般的职业生涯。若能在一个行业里,持续地提升自己,早晚得是有发光的时候。编程亦是哪些,那些做得最好的,往往是做得最久的。

书评

再回到这本书上,架构也是这样循序渐进出来的。底层的代码,影响了顶层的建筑,便需要一点一滴慢慢从底层关注系统。大体上,我是将这本书分成了两部分:

第一、二部分,资深程序的 程序员 都会有一定的了解、实践。第三部分,是他最为人所知的 SOLID 原则,他最早出现 15 年前的《敏捷软件开发》等书上。而作为一个接受过 ThoughtWorks OO Bootcamp 训练的学员,我大抵还是能相当熟悉的运用它们。

第四部分,在讲述组件化架构,都是能以 UI 项目,而非后端服务谈论组件化架构,那倒能多得几分。终于在第五部分,开始总结性地介绍软件架构??然后,剩余的部分都在讲代码故事,Uncle Bob 讲述故事的能力,大概是我的好几个数量级。

说到底,还是因为我太年轻了,没能读懂这本书的精髓。看上去像可有可无的大道理,在落地上倒是得自己花时间去考虑。遇到一个架构方面的难题,带上这本书,加上所谓的悟性,或许我的问题就能迎刃而解。要是一看,本书倒是 不适合初学者 。可是,这本书的叙述方式,又相当的适合初学者。

要是各位对这本书有兴趣,又有些不是甚懂,建议去看看《代码整洁之道》。


以上所述就是小编给大家介绍的《《架构整洁之道》有感》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

微信小程序(开发入门及案例详解)

微信小程序(开发入门及案例详解)

李骏、边思 / 机械工业出版社 / 2017-3-1 / 59.0

本书可分为3部分,第一部分作为基础章节,介绍了第一个小程序的搭建流程,让大家能快速上手;同时对小程序框架原理进行了详细介绍,为后面学习组件、API打下基础。 第二部分对小程序组件、API进行介绍,对组件、API的使用、注意事项进行详细讲解,并给出示例代码。 最后一部分精选5个由浅入深的案例,对小程序研发进行实战讲解,涵盖了实际项目中可能涉及的技术方案和使用方法,具备很强的实战意义。 ......一起来看看 《微信小程序(开发入门及案例详解)》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具