Diomidis Spinellis是希腊雅典经济学和商业大学管理科学与技术系统的副教授。他的研究兴趣包括软件工程、计算机安全和编程语言。他是IEEE Software编辑委员会的成员,负责定期的Tools of the Trade栏目。Diomidis是FreeBSD的提交者,也是UMLGraph和其他天源软件包、库和工具的开发者。他拥有软件工程的硕士学位和计算机科学博士学位,都是在Imperial College London获得的。Diomidis是ACM的高级成员,也是IEEE和Usenix Association的成员。Georgios Gousios是一名职业研究者,接受的教育和软件工程有关,热衷于软件开发。他的研究兴趣包括软件工程、软件品质、虚拟机和操作系统,他拥有英国曼彻斯特大学的科学硕士学位。Gousios为多个开源软件项目贡献过代码,并参与了各种学术项目和商业项目的研究与开发。
张逸,架构编码实践者,IT文艺工作者,大数据平台架构师,兼爱OO与FP,热衷于编程语言学习与技艺提升,致力于将主流领域驱动设计与函数式编程、响应式编程以及微服务架构完美结合。他的个人微信公众号为「逸言」。
评注者序
软件架构终归属于工程学的范畴,不能一概以只可意会不可言传来搪塞,因为架构知识是可以传递的,架构文档是可以共享的,最重要的是,架构自身是可以评审、验证与实现的。
Stephen J. Mellor 在Beautiful Architecture一书的序中,画龙点睛地勾勒出美丽架构的模样,即必须遵循的一些普遍原则,分别为:
? One fact In one place(一处一事实)
? Automatic propagation(自动传播)
? Architecture includes construction(架构包含构建)
? Minimize mechanisms(最小化机制)
? Constuct engines(构建引擎)
? OG, the order of growth(OG,增长的阶)
? Resist entropy(抵制熵)
这些原则,其实就是架构师的智慧,没有足够深刻的理解与深入实践,是不可能给出如此言简意赅的架构建议的。按照我的理解,这些普适性原则其实就是在说明所谓美丽的架构,就是简单、一致、适应变化并能去除重复的架构。就如Mellor 所言美丽的架构能用更少的机制做更多的工作。这就是Beautiful Architecture一书不凡的开篇。
若是一本平庸的书,必然会惧怕这样精彩绝伦的序,因为它愈发的美,就愈发能照映出正文的丑;它愈发的言之有物,又愈发会衬托出正文的空洞无味。然而,若是内容是超乎寻常的精彩绝伦,这样的序就无异于锦上添花,珠联璧合了。通透点儿,就是齐活!这就好比一首歌曲的领唱者,倘若一开始就飙出高音,声入云霄。后续跟着唱的人要是没有点儿本事,恐怕就难以为继了;可要都是高手呢?那就真是一场音乐的盛宴了。
Beautiful Architecture荟萃了全球最顶级的架构师和意见领袖,他们在这本书中唱出了架构思想、实践与原则的最强音。全书共分为以下5 个主题。
? On Architeture
? Enterprise Application Architecture
? Systems Architecture
? End-User Application Architectures
? Languages and Architecture
这些主题几乎覆盖了软件架构的方方面面,精选的每篇文章可谓字字珠玑,充满了写作者的真知灼见。开卷阅读,如与大师对话,聆听者必须凝神应对,稍不留神就可能遗漏那些重要而正确的意见,影响到对整篇文章的理解。整本书正文不足400 页,然而每次阅读皆有新意,书的内容仿佛博尔赫斯笔下小径分叉的花园,花园虽小,景色却变幻多姿,路途虽短,距离却无穷无尽,咫尺天涯。
因此,作为本书的评注者,真可以说是战战兢兢、如履薄冰。我的每句点评都尽力追求达到个人最大努力的完美,不求锦上添花,只求不得狗尾续貂之嫌。安全地说,这些评注不过是我写在这本大书边上的感悟罢了。这些感悟,或是阅读到精彩段落的击节赞叹,或是不明其义而反复研读之后的醍醐灌顶,或是触类旁通体会到架构本质因而不揣冒昧地给出自己的心得体会。在评注过程中,我恪守扬长避短的原则,不懂就不装懂,默不作声,当一位沉默的看客;一旦涉猎到自己擅长的部分,却也不妨洋洋洒洒高谈阔论,坦承自己的观点。
对于这些架构领袖们,我怀揣敬意,却也不愿以一种卑微的心态被动接受。我需要做一个具有自己人格和高度的评注者。至于对否,就交给读者诸君对评注再做一次评注吧!
张 逸
个人博客:http:zhangyi.xyz