所谓软件架构,就是你希望在项目一开始就能做对,但是却不一定能够做得对的决策的集合。
——Ralph Johnson
今天就给大家带来一本集举世热门架构于一身的经典巨著——
《架构整洁之道》
不光因为它是创造“Clean神话”的传奇软件匠师Robert C. Martin(Bob大叔)在架构领域的登峰之作,更是因为书中重现了,无论读者是现任的还是将来的软件架构师、系统分析师、系统设计师或软件项目经理,或是身负将他人设计落地重任的开发人员,这本书都可以让你们受益匪浅!
(每满100-50活动进行中)
▊ IT世界日新月异,只关注热门潮流即可,为何本书回溯大量架构模式?互联网开发场景千变万化,技术一日千里,而面向对象在不少人的脑海里早就是弃之不用的老古董了。如今写架构,还从结构化编程、面向对象编程、函数式编程写起,还花时间解释SRP、OCP、LSP等原则,实在难掩“古老”的感觉。那么,它们和如今的“架构”有什么关系吗? 按照Bob大叔的说法,所谓架构就是“用最小的人力成本来满足构建和维护系统需求”的设计行为。以前的面向对象系统和如今的分布式系统,在这一点上是完全一致的。以历史悠久的三个编程范式与如今大行其道的分布式系统为例,如:- 缺少“层次”概念,带来的维护和调试噩梦,正是古老的goto陷阱的再现;
- 接口设计随意、抽象不当,导致的契约僵硬死板、可扩展性弱,正是“多态”出现之前的困境;
- 状态或变量的修改接口大方暴露,导致被修改产生的故障,正是不可变性的题中应有之义。
可见,再新潮的架构解决的还是那些古老的问题。从这种古老的视角看问题,往往更能摆脱细节的困扰,把握问题的核心。当然,架构设计是一门复杂的学问,要综合考虑编码、质量、部署、发布、运维、排障、升级等等各种因素,做出权衡。好消息是,Bob大叔的这本书覆盖面广,涉及各个方面,相信你认真读完全书一定会有不小的收获!Robert C. Martin,世界级软件开发大师,Object Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域的资深顾问。Martin自1964年写下第一行代码算起,有着超过50年的编程经验。他所沉淀下来的构建软件系统的一些方法和经验,汇集于“Clean系列”著作中,造福了全球无数程序员,被后辈程序员尊称为“Bob大叔”。Bob大叔几部“Clean系列”作品的写作顺序,与程序员个人境界及职级提升的上升通道巧妙暗合, 第一部教你写出易读、 可扩展、可维护、 可重用的代码,第二部揭示如何变成一个有修养的程序员,而《架构整洁之道》则关注软件设计与架构的通用原理与最佳实践,描述软件设计的一些理论知识。《架构整洁之道》分成三个部分:编程范式(结构化编程、面向对象编程和函数式编程),设计原则(主要是SOLID),以及软件架构(其中讲了很多高屋建翎的内容)。总体来说,书中的内容可以让你从微观(代码层面)和宏观(架构层面)两个层面对整个软件设计有一个全面的了解。
值得注意的是,本书并非快餐文化的产物,也不是针对于藉由快速解决具体问题完成手头工作的“大忙人”,而旨在帮助那些想设计出优质软件或架构“有心人”。当然,这不代表理想主义,陈皓 (@左耳朵耗子)在本书的推荐序中说道:可能只有你碰过足够多的壁,掉过足够多的坑,经历过足够多的痛苦后,再来读这本书时,你才会发现本书中的这些“陈旧的知识”是多么充满智慧。用深邃的架构智慧为你指明一条康庄大道,在开发项目中不要再无谓地碰太多壁、掉太多坑、经历太多痛苦。同所有经典书一样,每一次阅读《架构整洁之道》读都会带给你新的体会,这是一本不会让你失望的著作。每满100-50活动限时进行中,即刻入手,优惠多多!【美】Robert C. Martin 著,孙宇聪 译熔举世热门架构于一炉,揭通用黄金法则以真言
左耳朵耗子、余晟倾情作序
(扫码获取本书详情)