网易首页 > 网易号 > 正文 申请入驻

MediatR收费后,手写CQRS只需50行代码

0
分享至

去年某个周二,Jimmy Bogard在GitHub上推送了一条提交。第二天,全球数万个.NET项目的依赖管理器开始报警——MediatR转向了商业授权。这个用了十年的"基础设施",突然需要按开发者席位付费。

戏剧性的是,恐慌只持续了72小时。社区很快发现:那个被当成黑盒用了十年的库,拆开之后几乎全是空壳。命令分发、处理器注册、管道行为——这些被包装成"框架能力"的东西,纯手写不到50行。


被混淆的两个概念

MediatR和CQRS在.NET生态里纠缠太深,以至于很多人分不清边界。

「CQRS的核心就两句话:命令改状态,查询读数据。」原文作者用极简定义划清界限。命令有副作用,查询无副作用——除此之外全是实现细节,不需要任何库。

MediatR的流行源于一个历史巧合:它把"处理器自动发现+统一分发器+行为管道"打包成了三行配置代码。这三行代码解决了启动阶段的繁琐,却也制造了依赖幻觉——仿佛没有它,CQRS就无法运转。

授权变更撕开了一道口子。团队被迫审视:那些三行代码换来的便利,代价是放弃对抽象层的完全控制。

正方:手写实现的价值

剥离框架后的实现出奇地薄。五个接口定义全部关系:

两个标记接口ICommandIQuery作为类型系统的锚点,让编译器强制约束命令与处理器的配对关系。三个处理器接口分别处理无返回值命令、有返回值命令、查询——泛型参数确保「错误的使用会在编译期报错,而非运行时爆炸」。

作者特意为标记接口辩护:通常这确实是反模式,但此处它们承担了两个不可替代的职责。一是为程序集扫描提供明确目标——没有ICommand,无法写出AssignableTo(typeof(ICommand<>))这样的筛选条件;二是让分发器的泛型约束具备编译期检查能力。

DI容器接管剩余工作。处理器注册、生命周期管理、依赖注入——这些本就是容器的基础设施,无需额外封装。手写代码的优势在于透明:每个抽象层的职责、数据流向、扩展点都暴露在开发者眼前,而非藏在库的源码深处。

反方:框架的隐性收益

手写派忽略了一个成本:团队共识。

MediatR的价值不仅是代码,更是「社区共同语言」。新成员入职,看到IRequestHandler立刻知道该往哪写逻辑;代码审查时,管道行为的命名和顺序有既定惯例;遇到异常,Stack Overflow上有数千个已解答的问题。

手写实现意味着重建这套共识。五个接口的命名风格、分发器的错误处理策略、横切关注点的注入方式——每个决策都需要团队内部反复对齐。对于五人以下的团队这或许轻松,五十人团队则可能成为摩擦源。

另一个隐性成本是维护责任。MediatR的管道行为、异常处理、性能优化由社区持续迭代;手写代码的同等能力,需要团队自己长期投入。授权费用本质上是把这部分成本货币化,而非消除。

判断:什么时候该拆,什么时候该留

决策锚点在于「控制需求」与「团队规模」的交叉。

需要完全控制抽象层时,手写是理性选择。比如:处理器需要跨进程边界(从内存调用改为HTTP/RPC)、管道行为需要与特定遥测系统深度集成、或者团队对性能有极端敏感的要求。这些场景下,MediatR的封装反而成为障碍——它的扩展点设计服务于通用场景,特殊需求需要绕路或 fork。

团队规模小、迭代速度快、无特殊基础设施需求时,保留框架更经济。授权成本若低于「重建共识+维护基础设施」的人力折算,付费是合理交易。但需警惕「路径依赖」:因历史惯性继续付费,而非主动评估。

一个值得观察的信号是:手写实现的核心代码(接口定义+分发器+注册逻辑)在多数项目中高度相似。社区可能出现轻量级替代方案——不是第二个MediatR,而是「可复制的50行代码模板」。这种形态既保留透明性,又降低重复决策成本。

MediatR的授权变更,最终暴露了一个被长期遮蔽的事实:CQRS作为模式,其复杂度被框架人为放大了。当开发者发现「原来我自己也能写」,对基础设施的迷信便开始瓦解。这种认知迁移的影响,可能比任何具体的技术决策都更深远。

特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

相关推荐
热点推荐
刚刚,全体默哀!已致26死61伤!自5月4日19时起,长沙市所有烟花爆竹生产企业,全面停产整顿

刚刚,全体默哀!已致26死61伤!自5月4日19时起,长沙市所有烟花爆竹生产企业,全面停产整顿

浙江之声
2026-05-05 15:50:01
肖磊:刚刚,穆斯林世界第一大“叛徒”诞生了

肖磊:刚刚,穆斯林世界第一大“叛徒”诞生了

肖磊看世界
2026-05-05 16:21:09
美国披露MU5735空难报告:飞行中燃油供应被切断

美国披露MU5735空难报告:飞行中燃油供应被切断

法经社
2026-05-05 17:13:58
已致26死!浏阳爆炸现场还有两个高危黑火药库

已致26死!浏阳爆炸现场还有两个高危黑火药库

中国新闻周刊
2026-05-05 14:08:22
酒局持续4小时,从下厨招待到拿刀拼命,妻子到底经历了什么

酒局持续4小时,从下厨招待到拿刀拼命,妻子到底经历了什么

笑谈历史阿晡
2026-05-04 12:02:08
亏损超1.5亿!《寒战1994》票房崩塌,我感慨:这块金字招牌砸了

亏损超1.5亿!《寒战1994》票房崩塌,我感慨:这块金字招牌砸了

靠谱电影君
2026-05-05 10:40:44
连滚带爬!赖清德连夜返回台岛,斯威士兰国王把事做绝了

连滚带爬!赖清德连夜返回台岛,斯威士兰国王把事做绝了

比利
2026-05-05 12:53:42
中国启动“实战条款”反击特朗普,不介意和美国人硬碰硬

中国启动“实战条款”反击特朗普,不介意和美国人硬碰硬

健身狂人
2026-05-05 21:17:49
王健林债务缠身,王思聪洛杉矶落魄排队,老子还能为他兜底吗?

王健林债务缠身,王思聪洛杉矶落魄排队,老子还能为他兜底吗?

历史伟人录
2026-05-03 22:32:08
河北邢台“一家五口被害案”凶手已被执行死刑,家属:独自在5位家人坟前告慰,伤痛永远无法消失

河北邢台“一家五口被害案”凶手已被执行死刑,家属:独自在5位家人坟前告慰,伤痛永远无法消失

极目新闻
2026-05-05 14:33:25
伊朗外长阿拉格齐将访华

伊朗外长阿拉格齐将访华

界面新闻
2026-05-05 19:03:35
吴宜泽世锦赛夺冠,同为00后的颜丙涛社媒送祝贺,解禁时间已确定

吴宜泽世锦赛夺冠,同为00后的颜丙涛社媒送祝贺,解禁时间已确定

小火箭爱体育
2026-05-05 19:46:07
5月5日俄乌最新:红场,乌克兰来了

5月5日俄乌最新:红场,乌克兰来了

西楼饮月
2026-05-05 18:30:57
吴宜泽决赛间歇收到奥沙利文短信支招,火箭:我只帮合得来的球员

吴宜泽决赛间歇收到奥沙利文短信支招,火箭:我只帮合得来的球员

杨华评论
2026-05-05 17:03:56
一女游客体验景区悬崖秋千项目高空坠落,景区公告临时闭园,当地回应

一女游客体验景区悬崖秋千项目高空坠落,景区公告临时闭园,当地回应

极目新闻
2026-05-05 18:58:13
美军中将:伊朗战争是代价更高的对华战争的预演,后果不堪设想

美军中将:伊朗战争是代价更高的对华战争的预演,后果不堪设想

潋滟晴方DAY
2026-05-05 00:50:03
连续3场3-0横扫!国乒男团完胜澳大利亚,强势跻身世乒赛16强

连续3场3-0横扫!国乒男团完胜澳大利亚,强势跻身世乒赛16强

全景体育V
2026-05-05 18:28:04
她是吴宜泽姐姐,血脉压制从小揪弟弟耳朵,长得漂亮是机车爱好者

她是吴宜泽姐姐,血脉压制从小揪弟弟耳朵,长得漂亮是机车爱好者

以茶带书
2026-05-05 16:57:12
惊呼绳子“没拴紧没拴紧”,女子景区“探险”时高空坠落;女子是否抢救过来,四川华蓥相关部门称会发通报

惊呼绳子“没拴紧没拴紧”,女子景区“探险”时高空坠落;女子是否抢救过来,四川华蓥相关部门称会发通报

大风新闻
2026-05-05 17:39:06
任仲夷晚年时说:现在腐败得不到遏制,根本原因是权力得不到制约

任仲夷晚年时说:现在腐败得不到遏制,根本原因是权力得不到制约

帝哥说史
2026-05-04 21:57:53
2026-05-05 21:51:00
野生运营
野生运营
懂点产品,懂点AI,正在努力给平淡日子搞点新花样。
2149文章数 31关注度
往期回顾 全部

科技要闻

传苹果考虑让英特尔、三星代工设备处理器

头条要闻

伊朗被问"为何不向美国让步" 一句话让美国笑不出来

头条要闻

伊朗被问"为何不向美国让步" 一句话让美国笑不出来

体育要闻

全世界都等着看他笑话,他带国米拿下冠军

娱乐要闻

内娱真情谊!杨紫为谢娜演唱会送花篮

财经要闻

浏阳烟花往事

汽车要闻

同比大涨190% 方程豹4月销量29138台

态度原创

亲子
游戏
健康
房产
艺术

亲子要闻

在蓟县给你们找到一个非常不错的幼儿园,太大太爽了!

NS2硬盘杀手诞生!Xbox大作64GB狠狠挤爆Switch 2

干细胞治烧烫伤面临这些“瓶颈”

房产要闻

五一楼市彻底明牌!塔尖人群都在重仓凯旋新世界

艺术要闻

有多少人知道,它曾是亚洲第一高楼?

无障碍浏览 进入关怀版