写点什么

架构的“顺势疗法”

  • 2013-01-31
  • 本文字数:1292 字

    阅读完需:约 4 分钟

来自 CapGemini 的 Steve Jones 在去年撰写了一篇文章,阐述了在他是如何看待“思考已死”与“ IT 界将技术凌驾于思考之上”的。文章引出了漫长和热烈的讨论,Steve 的观点得到许多人的赞同。为了证明其观点,Steve 以 REST 为例,认为它作为一个技术被过分讨论和滥用,却没有充分的思考或证据来解释它在特定领域的效益。这在文章的评论中引来了大量的讨论,其中有相当数量的人反对这个例子,并认为 REST 优于其他一些 Steve 曾经推荐的技术,例如如 Web Services。

于是,Steve 在近期通过一个非常具体的例子,从另一方面来解释这类缺乏思考的行为方式:

有时候我们会在会议中遇到来自某人的令人赞叹的发言,今天我也有同样的经历,有人写道“我们自己就是病人,我们能停止假装自己就是外科医生吗?”她的观点很简单,过去在公司里已经遇到过这样的挑战,人们依据一些个人观点并在没有数据支持的情况下做出一些关键的决策,而这些决策实施的成果没有被追踪。

Steve 将其形容为“架构的顺势疗法”,用于描述 IT 界中人们仅依据个人观点便做出架构决策的现象。这些决策缺乏事实或案例来说明为何它们能够成功,同时除了部署外,实施的成果也没有被分析。Steve 使用这一现象来说明他的观点:

一个好的架构的挑战是类似于“X 不可行,是因为我们不是用集中的方式工作;我们需要 Y,因为我们采用分治的方式,而且 Y 已经被证明是可行的”。而架构的“顺势疗法”则提出“X 不可行,我们应该采用 Y”或更像是“X 不可行”。没有证据来支持这一“反馈”,基于这一反馈也无法进行建设性的改变。但如果出现任何问题,架构的顺势治疗论者会说:“你本应按我说的做”。

Steve 相信这些“架构的顺势治疗论者”可以用这种方式来建立其职业生涯,宣称“这对我是可行的”,同时这些人不能理解更多的可能带来成功的选择。此外,他相信这些人通常基于臆想的缺点,对经过证明的方式吹毛求疵;他还阐述道,对于那些坚持在企业整合中使用 REST,而对问题空间缺乏完整理解,或是不知道为何其他的技术更合适的人,是一个典型的“架构的顺势治疗论者”。 这些人描绘了架构的美好前景,却没有过亲自动手或是指导他人进行实践的经历。

无论你是否相信“架构的顺势治疗论者”的存在,每个人都应该认同 Steve 的这一论断:所有的架构决策应该基于事实或数据。即使该选择最终被证明是错误的,我们也应该把这一结果记录下来并从中汲取经验教训。

我反对人们基于一系列演示文稿和仅被顺势疗法佐证的个人观点,进行架构决策的方式(或实际的商务决策方式)。这些顺势治疗论者基于无知且自我的“信条”进行评论,扰乱进程并热衷于宣称“按我的方法做会更好”,却不会详细解释他们的方法的必需条件。

Steve 文章中关于 REST 的部分很容易成为焦点,容易使人忽视他努力阐述的中心思想:一些架构决策是在缺乏充分依据的情况下被作出的,而且也许还有一些人在传播推广这种决策方式。

查看英文原文 Architectural Homeopathy


感谢杨赛对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2013-01-31 04:512186
用户头像

发布了 256 篇内容, 共 72.6 次阅读, 收获喜欢 10 次。

关注

评论

发布
暂无评论
发现更多内容

隐秘的MySQL类型转换

架构精进之路

MySQL

大数据简介&架构(一)

dony.zhang

大数据 hdfs hive YARN MAPRED

大数据作用

纯纯

Android中的特殊攻击面(二)——危险的deeplink

OPPO安全

android 安全攻防 安全

为什么阿里巴巴的程序员成长速度这么快,看完他们的内部资料我明白了

Java迁哥

Android的特殊攻击面(三)——隐蔽的call函数

OPPO安全

android 安全攻防 安全 函数

第 0 期架构师训练营第 7 周作业 1

fujin

week12 总结

雪涛公子

Git技术干货!工作中"Git"的使用实践和常用命令合集!

Geek Tech

git git常用命令 git常用实践 工作中git的使用

超声大数据应用

周冬辉

大数据

非传统的“易观”,和他的技术驱动之路

易观大数据

打开 政务上链 应用场景

CECBC

区块链 数字身份 政务

大数据

GalaxyCreater

大数据

第 0 期架构师训练营第 7 周作业 2 ----总结

fujin

交易所合约跟单系统源码开发,合约跟单平台搭建

13530558032

前端源码宝库

InfoQ_34a83d636158

week12

强哥

极客大学架构师训练营

如何判断程序员的代码是否优美?

Garfield

代码质量 代码 代码优化 代码重构

释放数据价值:DAYU数据运营新能力解读

华为云开发者联盟

大数据 数字化转型 华为云 代码原理 数据运营

区块链技术创新应用势在必行 食品药品开启全链条溯源时代

CECBC

区块链 溯源 药品

架构师课程第十二周总结

dongge

阿里巴巴Java开发手册-日志规约

魏杰

第十二周学习总结

赵龙

后疫情时代 数字经济如何大显身手

CECBC

疫情 数字经济 数字技术

第十二周总结

Linuxer

SpreadJS 纯前端表格控件应用案例:Teammark知识管理库

葡萄城技术团队

SpreadJS

【架构师训练营】第 12 周作业

花生无翼

大数据应用

GalaxyCreater

大数据

大数据总结

周冬辉

大数据

Android 中的特殊攻击面(一)——邪恶的对话框

OPPO安全

android 安全攻防 安全

第十二周作业

赵龙

架构的“顺势疗法”_SOA_Mark Little_InfoQ精选文章