《架构之美》评注版序

简介: 《架构之美》评注版序

image.png

软件架构终归属于工程学的范畴,不能一概以“只可意会不可言传”来搪塞,因为架构知识是可以传递的,架构文档是可以共享的,最重要的是,架构自身是可以评审、验证与实现的。

Stephen J. Mellor在Beautiful Architecture序中,画龙点睛地勾勒出美丽架构的模样,即必须遵循的一些普遍原则,分别为:

  • One fact In one place(一处一事实)
  • Automatic propagation(自动传播)
  • Architecture includes construction(架构包含构建)
  • Minimize mechanisms(最小化机制)
  • Constuct engines(构建引擎)
  • O(G), the order of growth(O(G),增长的阶)
  • Resist entropy(抵制熵)

这些原则,其实就是架构师的智慧,没有足够深刻的理解与深入实践,是不可能给出如此言简意赅的架构建议的。按照我的理解,这些普适性原则其实就是在说明所谓美丽的架构,就是简单、一致、适应变化并能去除重复的架构。泄露天机的一句话还是Mellor所言——美丽的架构用更少的机制做更多的工作。这就是Beautiful Architecture一书不凡的开篇了。

若是一本平庸的书,必然会惧怕这样精彩绝伦的序,因为它愈发的美,就愈发能照映出正文的丑;它愈发的言之有物,又愈发会衬托出正文的空洞无味。 然而,若是内容是超乎寻常的精彩绝伦,这样的序就无异于锦上添花,珠联璧合了。通透点儿,就是齐活!这就好比一首歌曲的领唱者,倘若一开始就飙出高音,声入云霄。跟唱者没有点儿本事,恐怕就难以为继了;可要都是高手呢?那就真是一场音乐的盛宴了。

Beautiful Architecture合唱团荟萃了全球最为顶级的架构师、意见领袖,他们在这本书中唱出了架构思想、实践与原则的最强音。全书共分为五个主题:

  • On Architeture
  • Enterprise Application Architecture
  • Systems Architecture
  • End-User Application Architectures
  • Languages and Architecture

这些主题几乎覆盖了软件架构的方方面面,精选的每篇文章可谓字字珠玑,充满了写作者的真知灼见。开卷阅读,如与大师对话,聆听者必须凝神应对,稍不留神就可能遗漏那些重要而正确的意见,影响到对整篇文章的理解。整本书正文不足400页,然而每次阅读皆有新意,书的内容仿佛博尔赫斯笔下小径分叉的花园,花园虽小,景色却变幻多姿,路途虽短,距离却无穷无尽,咫尺天涯。

因此,作为本书的评注者,真可以说是战战兢兢如履薄冰。我的每句点评都尽力追求达到个人最大努力的完美,不求锦上添花,只求不得“狗尾续貂”之嫌。安全地说,这些评注不过是我写在架构这本大书边上的感悟罢了。这些感悟,或是阅读到精彩段落的击节赞叹,或是不明其义而反复研读之后的醍醐灌顶,或是触类旁通体会到架构本质因而不揣冒昧地给出自己的心得体会。在评注过程中,我恪守“扬长避短”的原则,不懂就不装懂,默不作声,当一位沉默的看客;一旦涉猎到自己擅长的部分,却也不妨洋洋洒洒高谈阔论,坦承自己的观点。

对于这些架构领袖们,我怀揣敬意,却也不愿以一种卑微的心态被动接受。我需要做一个具有自己人格和高度的评注者。至于对否,就将给读者诸君对评注再做一次“评注”吧!


行业专家推荐


《架构之美(评注版)》在架构之美原稿的基础上增加了一些精彩评注。这些评注,或阐述概念、或展开话题、或补充观点、或独创见解。评注内容涉及到架构风格、技术选型、设计模式、语言特性、数据分析工具、实时数据处理工具、研发过程、组织等等,张逸老师渊博的知识和大量软件工程实践的架构经验使我获益良多。架构之美一书数年前读过,评注版仍令我心向往之。读良书悟新知,评注观点亦如老友在品茗座谈间娓娓道来,又时有震耳发聩之声。 ——蚂蚁金服高级技术专家 右军

程序的健壮、优雅、灵活和易维护,是我们每个研发人员追求的目标。评注者结合自己的实践经验,对架构之美的深刻领悟全部体现在了评注文本中。 ——京东商城 POP京麦平台 架构师 王新栋

与张逸相识同事多年,常称之为软件开发领域的文艺青年。《架构之美》由张逸来评注可为相得益彰,原书从我们日常繁琐的架构工作中抽象出了一系列优雅的原则,而真正的理解又需要张逸这样的传道者来为我们娓娓道来。评注让我又重拾了一次这本名著,还要感谢张逸通过这样的努力分享了自己多年的架构心得。——ThoughtWorks咨询总监 精益敏捷专家 肖然

相关文章
|
IDE 程序员 开发工具
Python 进阶指南(编程轻松进阶):三、使用 Black 工具来格式化代码
Python 进阶指南(编程轻松进阶):三、使用 Black 工具来格式化代码
316 0
|
网络协议 算法 网络性能优化
TCP滑动窗口、流量控制及拥塞控制详解
TCP滑动窗口、流量控制及拥塞控制详解
|
消息中间件 Prometheus 监控
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
本文将对 RocketMQ-Exporter 的设计实现做一个简单的介绍,读者可通过本文了解到 RocketMQ-Exporter 的实现过程,以及通过 RocketMQ-Exporter 来搭建自己的 RocketMQ 监控系统。RocketMQ 在线可交互教程现已登录知行动手实验室,PC 端登录 start.aliyun.com 即可直达。
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台
|
小程序 开发者
鸿蒙原生开发手记:04-一个完整元服务案例
鸿蒙原生开发手记:04-一个完整元服务案例
771 4
鸿蒙原生开发手记:04-一个完整元服务案例
|
12月前
|
存储 SQL 监控
Dynamic Table快速入门
本次分享的主题是Dynamic Table快速入门,由Hologres PD 梅酱分享。今天的分享分为三个部分。首先,第一部分为Table的基本概念;第二部分进行Table的实操;第三部分为一些使用Table的建议和最佳实践。
454 12
|
SQL 存储 关系型数据库
在 Postgres 中使用 RIGHT
【8月更文挑战第7天】
302 0
在 Postgres 中使用 RIGHT
|
自然语言处理 IDE 测试技术
阿里云 的 通义灵码 在 IDEA 使用
【7月更文挑战第1天】在IntelliJ IDEA中启用阿里云的通义灵码插件,需安装插件,搜索“tongyi”安装并登录阿里云账号。插件提供行级/函数级代码建议、自然语言生成代码、单元测试生成、代码注释和解释等功能。支持多种编程语言,但需联网使用并依赖阿里云账号。快捷键在macOS和Windows上有差异,如macOS的“Tab”键接受代码建议,“Esc”废弃。
3306 0
|
缓存 Java 应用服务中间件
JSP的内置对象 request和response
这篇文章详细介绍了JSP的内置对象,包括request、response、out、session和application对象的使用方法和特性,以及如何通过这些对象处理HTTP请求和响应、管理会话和输出数据。
|
机器学习/深度学习 分布式计算 大数据
一文读懂Apache Beam:统一的大数据处理模型与工具
【4月更文挑战第8天】Apache Beam是开源的统一大数据处理模型,提供抽象化编程模型,支持批处理和流处理。它提倡"一次编写,到处运行",可在多种引擎(如Spark、Dataflow、Flink)上运行。Beam的核心特性包括抽象化概念(PCollection、PTransform和PipelineRunner)、灵活性(支持多种数据源和转换)和高效执行。它广泛应用在ETL、实时流处理、机器学习和大数据仓库场景,助力开发者轻松应对数据处理挑战。
3049 1
hexo 博客插入本地图片时遇到的坑
在使用Hexo博客时,作者遇到了将本地图片插入文章的问题。安装了`hexo-asset-image`插件(v1.0.0)并启用资源文件夹功能后,图片并未正确显示。问题在于图片路径未被转换。通过卸载`hexo-asset-image`,改用`hexo-asset-img`插件,并调整图片引用格式为`![alt](文章名/图片名.png)`,成功解决了图片显示问题。此问题源于`hexo-asset-image`在Hexo 5及更高版本中已失效。