横跨半个世纪,堪称软件架构博物馆,Bob大叔揭露架构选型黄金法则

陈晓猛

2020-08-13

所谓软件架构,就是你希望在项目一开始就能做对,但是却不一定能够做得对的决策的集合。

——Ralph Johnson

最近有同学问博文菌,架构领域有哪些必看的经典书既然同学们有需要,那博文菌直接发个大招

今天就给大家带来一本集举世热门架构于一身的经典巨著——

《架构整洁之道》

Clean Architecture

▊ 为什么这本书能称为经典巨著?不光因为它是创造“Clean神话”的传奇软件匠师Robert C. Martin(Bob大叔)在架构领域的登峰之作,更是因为书中重现了,半个世纪以来几乎所有的软件架构类型,并实打实给出了直接有效的解决方案!你捧着这本书,就相当于拥有了一座软件架构世界的博物馆,一座汇集了Bob大叔50余年开发经验的宝库

无论读者是现任的还是将来的软件架构师、系统分析师、系统设计师或软件项目经理,或是身负将他人设计落地重任的开发人员,这本书都可以让你们受益匪浅!
这一次我不允许再有人错过它!必须把它安利给每个人!

▊ IT世界日新月异,只关注热门潮流即可,为何本书回溯大量架构模式?

互联网开发场景千变万化,技术一日千里,而面向对象在不少人的脑海里早就是弃之不用的老古董了。如今写架构,还从结构化编程、面向对象编程、函数式编程写起,还花时间解释SRP、OCP、LSP等原则,实在难掩“古老”的感觉。那么,它们和如今的“架构”有什么关系吗? 按照Bob大叔的说法,所谓架构就是“用最小的人力成本来满足构建和维护系统需求”的设计行为。以前的面向对象系统和如今的分布式系统,在这一点上是完全一致的。以历史悠久的三个编程范式与如今大行其道的分布式系统为例,如:

  • 缺少“层次”概念,带来的维护和调试噩梦,正是古老的goto陷阱的再现;
  • 接口设计随意、抽象不当,导致的契约僵硬死板、可扩展性弱,正是“多态”出现之前的困境;
  • 状态或变量的修改接口大方暴露,导致被修改产生的故障,正是不可变性的题中应有之义。

可见,再新潮的架构解决的还是那些古老的问题。从这种古老的视角看问题,往往更能摆脱细节的困扰,把握问题的核心。当然,架构设计是一门复杂的学问,要综合考虑编码、质量、部署、发布、运维、排障、升级等等各种因素,做出权衡。好消息是,Bob大叔的这本书覆盖面广,涉及各个方面,相信你认真读完全书一定会有不小的收获!!

▊ Bob大叔 与《架构整洁之道》

Robert C. Martin,世界级软件开发大师,Object Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域的资深顾问。Martin自1964年写下第一行代码算起,有着超过50年的编程经验。他所沉淀下来的构建软件系统的一些方法和经验,汇集于“Clean系列”著作中,造福了全球无数程序员,被后辈程序员尊称为“Bob大叔”。Bob大叔几部“Clean系列”作品的写作顺序,与程序员个人境界及职级提升的上升通道巧妙暗合, 第一部教你写出易读、 可扩展、可维护、 可重用的代码,第二部揭示如何变成一个有修养的程序员,而《架构整洁之道》则关注软件设计与架构的通用原理与最佳实践,描述软件设计的一些理论知识。《架构整洁之道》分成三个部分:编程范式(结构化编程、面向对象编程和函数式编程),设计原则(主要是SOLID),以及软件架构(其中讲了很多高屋建翎的内容)。总体来说,书中的内容可以让你从微观(代码层面)宏观(架构层面)两个层面对整个软件设计有一个全面的了解。

值得注意的是,本书并非快餐文化的产物,也不是针对于藉由快速解决具体问题完成手头工作的“大忙人”,而旨在帮助那些想设计出优质软件或架构“有心人”。当然,这不代表理想主义,陈皓 (@左耳朵耗子)在本书的推荐序中说道:可能只有你碰过足够多的壁,掉过足够多的坑,经历过足够多的痛苦后,再来读这本书时,你才会发现本书中的这些“陈旧的知识”是多么充满智慧。本书重要的现实意义在于:用深邃的架构智慧为你指明一条康庄大道,在开发项目中不要再无谓地碰太多壁、掉太多坑、经历太多痛苦。

同所有经典书一样,每一次阅读《架构整洁之道》读都会带给你新的体会,这是一本不会让你失望的著作。每满100-50活动限时进行中,即刻入手,优惠多多!

▊《架构整洁之道》【美】Robert C. Martin 著,孙宇聪 译

  • 熔举世热门架构于一炉,揭通用黄金法则以真言

  • 左耳朵耗子、余晟倾情作序

读者评论

相关博文

  • 社区使用反馈专区

    陈晓猛 2016-10-04

    尊敬的博文视点用户您好: 欢迎您访问本站,您在本站点访问过程中遇到任何问题,均可以在本页留言,我们会根据您的意见和建议,对网站进行不断的优化和改进,给您带来更好的访问体验! 同时,您被采纳的意见和建议,管理员也会赠送您相应的积分...

    陈晓猛 2016-10-04
    4021 649 3 6
  • 迎战“双12”!《Unity3D实战核心技术详解》独家预售开启!

    陈晓猛 2016-12-05

    时隔一周,让大家时刻挂念的《Unity3D实战核心技术详解》终于开放预售啦! 这本书不仅满足了很多年轻人的学习欲望,并且与实际开发相结合,能够解决工作中真实遇到的问题。预售期间优惠多多,实在不容错过! Unity 3D实战核心技术详解 ...

    陈晓猛 2016-12-05
    2512 35 0 1
  • czk 2017-07-29
    3653 26 0 1