查看原文
其他

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

博文视点 博文视点Broadview 2020-11-06

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

——Ralph Johnson



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

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

《架构整洁之道》

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




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

(每满100-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 著,孙宇聪 译
  • 熔举世热门架构于一炉,揭通用黄金法则以真言

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


(扫码获取本书详情)




如果喜欢本文
欢迎 在看留言分享至朋友圈 三连


 热文推荐  





点击阅读原文,了解本书详情~

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存