最近,朋友圈都在晒 Uncle Bob 的新书《Clean Architecture》(中文名《架构整洁之道》)的相关内容,书架上也因此新增了一本书。阅读了之后,倒是产生了一些想法,便想写篇文章记录一下。
与书本身的架构部分的内容相比,这本书最吸、启发我的地方,怕是结尾的 《架构设计考古》相关的故事。编程年限时间越长,经常思考更好的解决方式,能收获到的知识也就越多。如果我们不能决定一个系统的架构,那么就思考、实践如何把它变好。过程中,大抵也是能收获更多的东西,对下一个系统有更多的启发。
不同的编程时期,对于软件架构的看法是不一样的。过去,我们要面对的是,一行行代码构成的面条式代码,系统处于混沌架构的形式。提取、整理、总结出 MVC 架构之后,应用的架构变得明朗。但是,随着时间的增长,又变成臃肿的单体应用。按业务(领域)拆分出代码,拆分出业务模块,变成一个个的服务。到了今天,我们开始提及演进式架构,以变化的心态,应对软件架构带来的变化。
软件架构总是要变的,重要的不是设计出好的架构,而是让架构和开发人员适应变化。
从结尾的考古故事里,可以看出:国外的技术人员到底和国内的技术人员,还是有上那么一些差距——对外输出上的差距。90 年代的中国程序员,没能为国内的开发者留下多少经验,这一点倒是颇为遗憾的。一来可能是没有记录下来,很多故事只能从内部知道;二来则是不能持续地记录,随着时间的推移,便被潮流覆盖。Robert C·Martin、Martin Fowler、Joel Spolsky、Jeff Atwood 等知名的程序员,写了大量的技术文章。从这点上来,倒是可以和国内的技术氛围形成了对比。
可一如村上春树在《我的职业是小说家》所讲述的故事,有些富有才华的年轻人,总是 “消逝” 得非常快——是他/她们在这一领域的时间太短了,昙花一现般的职业生涯。若能在一个行业里,持续地提升自己,早晚得是有发光的时候。编程亦是哪些,那些做得最好的,往往是做得最久的。
再回到这本书上,架构也是这样循序渐进出来的。底层的代码,影响了顶层的建筑,便需要一点一滴慢慢从底层关注系统。大体上,我是将这本书分成了两部分:
第一、二部分,资深程序的程序员都会有一定的了解、实践。第三部分,是他最为人所知的 SOLID 原则,他最早出现 15 年前的《敏捷软件开发》等书上。而作为一个接受过 ThoughtWorks OO Bootcamp 训练的学员,我大抵还是能相当熟悉的运用它们。
第四部分,在讲述组件化架构,都是能以 UI 项目,而非后端服务谈论组件化架构,那倒能多得几分。终于在第五部分,开始总结性地介绍软件架构??然后,剩余的部分都在讲代码故事,Uncle Bob 讲述故事的能力,大概是我的好几个数量级。
说到底,还是因为我太年轻了,没能读懂这本书的精髓。看上去像可有可无的大道理,在落地上倒是得自己花时间去考虑。遇到一个架构方面的难题,带上这本书,加上所谓的悟性,或许我的问题就能迎刃而解。要是一看,本书倒是不适合初学者。可是,这本书的叙述方式,又相当的适合初学者。
要是各位对这本书有兴趣,又有些不是甚懂,建议去看看《代码整洁之道》。
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!