写点什么

架构的“顺势疗法”

  • 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:512693
用户头像

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

关注

评论

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

数字化转型应该如何去做?(敏捷思维篇)

数字随行

数字化转型

Django笔记三十七之多数据库操作(补充版)

Hunter熊

Python django 多数据库

Github星标88.8k,阿里新产的Spring Cloud进阶小册!面面俱到

Java你猿哥

Java 架构 微服务 微服务架构 Spring Cloud

CMake vs Makefile: 如何选择适合你的项目构建工具

小万哥

Linux 程序员 C/C++ 后端开发 cmake

聊聊技术变现这件事

老张

斜杠青年 技术变现 技术咨询

不止缓存!Redis这16种妙用你可能没见识过……

Java你猿哥

redis 缓存 分布式 消息队列 全局唯一ID

ESG成全球风潮,联想造了一个可持续的“进托邦”

脑极体

数字化进程

九章云极DataCanvas公司诚邀您共享AI基础软件前沿技术盛宴

九章云极DataCanvas

极光笔记 | EngageLab Push的多时区解决方案

极光GPTBots-极光推送

运营 消息推送 笔记分享 海外

C语言编程—作用域规则

芯动大师

Zebec生态进展迅速,频被BitFlow、Matryx DAO等蹭热度碰瓷

鳄鱼视界

改变开发的未来 | 探索无服务器与人工智能的协同效应

亚马逊云科技 (Amazon Web Services)

Serverless

MySQL 正确使用带有横线“-”SQL语句

Andy

AIGC背后的技术分析 | 机器学习背后的微分入门

TiAmo

机器学习 AIGC

牧云 • 主机管理助手|正式开放应用市场,梦幻联动雷池WAF等多款开源软件

百川云开发者

云计算 防火墙 云主机 waf 主机管理

关于斐波那契数列的笔记

贝湖光

世界顶级级架构师编写2580页DDD领域驱动设计笔记,属实有牌面

Java你猿哥

Java 领域驱动设计 DDD crud 领域驱动

线程是如何通讯的?

Java你猿哥

Java 线程 多线程 ssm 通讯

瓴羊Quick BI连续四年入选Gartner魔力象限ABI报告

流量猫猫头

Auto-GPT 迈向智能体的第一步——从信息增强和上下文理解开始

Zilliz

Milvus 向量数据库 autogpt gptcache zillizcloud

Go 语言 map 是并发安全的吗?

AlwaysBeta

Go 面试 map

Go 语言 map 如何顺序读取?

AlwaysBeta

Go 面试 map

mac端摄影师青睐软件:ON1 Photo RAW 2023.5 中文激活版

真大的脸盆

Mac Mac 软件 图像编辑 编辑图像 照片编辑

2023-05-26:golang关于垃圾回收和析构函数的选择题,多数人会选错。

福大大架构师每日一题

golang 福大大

设计模式之订阅发布模式

越长大越悲伤

设计模式 发布订阅模式 spring boot3 订阅发布

Vue3 修改项目名称及相关信息

Andy

神册!出自阿里P8的深入理解Java虚拟机最新版,让我涨薪60%

Java你猿哥

Java JVM 虚拟机 并发 代码优化

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