软开经典思想类书籍
在我的认知里,作为软件开发的思想类书籍,必须能够做到通用性和启发性。像《重构》、《人月神话》等书就是如此。一直以来,像计算机网络、操作系统、编译原理、数据结构与算法、并发、设计模式等几大类都已经被公认为程序员的基本功,之所以是基本功,正是因为足够通用。而这本由三位软件架构设计大师共同著作的书,同样的,对于架构师以及架构设计者而言,也是架构设计方法论中的通用的思想和工具。
无论面对的架构是简单还是复杂,大致都可以从书中找到想要的信息。如果翻看目录,会发现本书的第二块中,大部分篇幅都跟“质量”有关。而说到质量,我想应该是很多软件开发者都能切身体会到的。如果软件质量非常差,那么自然会影响到架构的演进,因为在架构的演进过程中,需要花费开发人员大量的时间和精力去偿还技术债务。然而,“质量”这个词非常笼统,在不同的上下文中可以被赋予不同的多种含义,例如在本书中就赋予了包括可扩展性、可测试性、安全性、性能等多种属性。这些属性之间,既相互关联也相互影响。
书中也讲到了几乎所有讲架构的书都会讲的,架构设计是为了解决不断增加的软件复杂度。此外,软件架构也并不是靠胡乱猜测而来,而是在一定程度上演进而来。
而在云原生时代下,以Docker和K8S为代表的容器和容器编排技术也使得可伸缩性越来越被人们所知,书中也专门给出了一章去讲解面对云原生和分布式,系统大浪潮下,架构设计的方法和思想,在这一点上,能够体现出本书思想的与时俱进。
从架构概念、质量的多个属性、软件接口设计、虚拟化技术和云原生、架构设计方法流程,甚至个人发展等多个角度,本书都展开了详细的阐述,几乎可以说面面俱到。
最后,本书内容不少,但也不算很多,尤其是几乎每一部分都可以独立阅读,很适合闲暇时光慢慢品读,其中论述的各种角度和思想,都有助于架构设计者开拓思维和视野。