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

架构师吵了15年的悬案:仓储接口到底该放哪层

0
分享至

2023年Stack Overflow调研显示,67%的.NET开发者仍在把仓储接口和实现塞在同一层。这不是技术债,是架构认知的代际断层。

基础设施层(Infrastructure Layer)被戏称为"最无聊的层",却藏着软件设计中最持久的争议。它本该是技术细节的隔离带,却成了耦合的重灾区。

从N层到六边形:一场持续20年的迁徙

早期的N层架构里,基础设施层是链条末端。业务层直接操作数据库对象,仓储接口和实现挤在同一层——这在CRUD时代完全够用。

但现代系统的技术栈复杂度翻了十倍。消息队列、外部API、缓存、对象存储、日志框架……每个都是潜在的泄漏点。

六边形架构(Hexagonal Architecture)和整洁架构(Clean Architecture)的出现,本质上是一次"方向反转":让业务核心成为宇宙中心,基础设施变成可替换的插件。

关键转变:仓储接口被抽离到领域层(Domain Layer)或应用层(Application Layer),基础设施层只保留实现。

这解决了三个顽疾:业务逻辑可以独立编译测试、技术细节不再向上渗透、替换数据库时不用重写业务代码。

那些藏在代码库里的"智能陷阱"

我见过最隐蔽的反模式是"智能仓储"(Smart Repository)——在仓储里塞业务逻辑,比如自动计算折扣后存储、或者根据状态触发副作用。

表面看是代码复用,实际是职责错位。仓储变成了披着技术外衣的业务层,测试时需要连数据库一起启动,单元测试沦为集成测试。

另一个常见坑是"领域泄漏的工具类"。一个处理货币计算的`MoneyUtils`,内部偷偷调用了外部汇率服务。业务代码以为自己在用纯函数,实际上被网络延迟和第三方故障绑架。

框架驱动设计(Framework-Driven Design)更隐蔽。团队选了某个ORM后,实体类被迫继承框架基类、属性被打上特性标签(Attribute)。领域模型沦为持久化模型的附庸,换ORM等于重写核心业务。

边界划分的实战法则

判断接口归属有个朴素标准:谁需要依赖它?

应用层需要持久化数据 → 仓储接口属于应用层或领域层。基础设施层实现接口 → 依赖关系向内指向核心,而非向外扩散。

端口与适配器(Ports and Adapters)的命名很贴切:业务核心定义"我要什么"(端口),基础设施回答"我怎么做"(适配器)。

日志和缓存这类横切关注点更微妙。如果日志格式包含业务语义(如"用户{userId}下单失败"),接口应由应用层定义;纯技术日志(如SQL执行时间)则可留在基础设施层。

外部服务调用是重灾区。我见过团队在基础设施层直接返回供应商DTO,业务层被迫消化第三方字段命名。正确的切口:基础设施层做防腐转换(Anti-Corruption Layer),进出都是领域对象。

测试策略是检验标准。理想的领域层测试应该能在内存中跑完,启动时间以毫秒计。如果跑测试需要Docker Compose,说明边界画错了。

一个仍在演进的共识

整洁架构提出者Robert C. Martin近年修正过早期观点:接口定义的位置没有绝对答案,取决于变更频率和团队规模。

小团队、单体应用、技术栈稳定——接口放基础设施层,减少抽象层数。多团队、微服务、技术栈可能替换——接口必须靠近业务核心。

这不是非黑即白的选择,是权衡后的刻意设计。

微软eShopOnContainers示例项目把仓储接口放在应用层,基础设施层用EF Core实现。但GitHub上有个高星Fork把接口下沉到领域层,因为团队需要支持MongoDB和SQL Server双写——同一套代码,不同边界决策。

你的代码库里,仓储接口现在躺在哪一层?最近一次替换数据库或框架时,你改了百分之多少的文件?

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

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.

相关推荐
热点推荐
河南小伙儿20年前在长沙岳麓山下卖烧饼,因长得帅成“初代网红”,如今凭一组对比照再翻红,网友:法拉利老了还是法拉利

河南小伙儿20年前在长沙岳麓山下卖烧饼,因长得帅成“初代网红”,如今凭一组对比照再翻红,网友:法拉利老了还是法拉利

极目新闻
2026-04-15 18:08:49
渴望回国的加拿大华裔,陷入“回来不甘心,不回受不了”的纠结中

渴望回国的加拿大华裔,陷入“回来不甘心,不回受不了”的纠结中

阿讯说天下
2026-04-14 12:43:26
历史最差!四川遭天津双杀39连败+跨季44连败 维纳莱斯33+12

历史最差!四川遭天津双杀39连败+跨季44连败 维纳莱斯33+12

醉卧浮生
2026-04-15 21:19:44
世锦赛战报:5-10,连爆大冷1号2号4号5号种子都无缘正赛席位了

世锦赛战报:5-10,连爆大冷1号2号4号5号种子都无缘正赛席位了

求球不落谛
2026-04-16 04:28:04
首次亮相广交会!张雪机车外贸部部长黄秦:夺冠后有复盘成功原因,未来有信心争取年度总冠军

首次亮相广交会!张雪机车外贸部部长黄秦:夺冠后有复盘成功原因,未来有信心争取年度总冠军

每日经济新闻
2026-04-15 22:34:23
这6家央企低调到没人知道!待遇不输烟草电网,双非生也能捡漏!

这6家央企低调到没人知道!待遇不输烟草电网,双非生也能捡漏!

优墨出品
2026-04-14 19:06:28
金价!彻底沸了

金价!彻底沸了

吉刻新闻
2026-04-15 09:36:43
伊朗放出致命证据,果然美军说谎了!

伊朗放出致命证据,果然美军说谎了!

深度报
2026-04-13 22:31:48
凯恩:争议判罚?有时欧冠就需要这个,皇马比谁都清楚这一点

凯恩:争议判罚?有时欧冠就需要这个,皇马比谁都清楚这一点

懂球帝
2026-04-16 07:35:07
谁能想到,苏林上任首访中国,竟是自家人都摆不平的大麻烦

谁能想到,苏林上任首访中国,竟是自家人都摆不平的大麻烦

动物奇奇怪怪
2026-04-15 13:19:42
中国历史第7人!杨瀚森晋级NBA季后赛 跻身姚明阿联周琦之列

中国历史第7人!杨瀚森晋级NBA季后赛 跻身姚明阿联周琦之列

醉卧浮生
2026-04-15 13:07:44
中国几毛钱止泻药竟是“天然司美”?廉价神药火到海外,老外疯抢

中国几毛钱止泻药竟是“天然司美”?廉价神药火到海外,老外疯抢

思思夜话
2026-04-15 17:56:06
俄国防出口公司:已签署一系列苏-57E战机出口合同

俄国防出口公司:已签署一系列苏-57E战机出口合同

财联社
2026-04-14 18:35:12
乔丹之后,NBA真正能算“门面”的球星,只有这4人

乔丹之后,NBA真正能算“门面”的球星,只有这4人

钱说体育
2026-04-16 04:51:43
揭秘年销10亿的爆款宋柚汁:“宋柚”是商标,柚含量不到3%,主配料为糖水,品牌号称全国销量第一

揭秘年销10亿的爆款宋柚汁:“宋柚”是商标,柚含量不到3%,主配料为糖水,品牌号称全国销量第一

蓝鲸新闻
2026-04-15 09:44:24
“亚视传奇绿叶”江图病逝,参与过《书剑恩仇录》《陆小凤》等经典剧集,托付古天乐操办后事,财产全捐慈善

“亚视传奇绿叶”江图病逝,参与过《书剑恩仇录》《陆小凤》等经典剧集,托付古天乐操办后事,财产全捐慈善

大风新闻
2026-04-15 17:13:34
恒大歌舞图再曝光:许家印亲自面试 贵宾房比外界说的夸张 刷三观

恒大歌舞图再曝光:许家印亲自面试 贵宾房比外界说的夸张 刷三观

念洲
2026-04-15 15:32:14
南通一客运站挂出招租横幅!一代人的挤车记忆,真的落幕了?

南通一客运站挂出招租横幅!一代人的挤车记忆,真的落幕了?

好通网
2026-04-15 08:46:44
斯波直言三球该被驱逐!鲍尔准绝杀戴大金链:轰30+10自我救赎

斯波直言三球该被驱逐!鲍尔准绝杀戴大金链:轰30+10自我救赎

颜小白的篮球梦
2026-04-15 11:00:09
应急局回应“在建西安东站起火”:系附近货车起火产生浓烟,无人员伤亡

应急局回应“在建西安东站起火”:系附近货车起火产生浓烟,无人员伤亡

极目新闻
2026-04-15 23:03:57
2026-04-16 08:08:49
硬核玩家2哈
硬核玩家2哈
沉淀中,勿扰
1422文章数 7关注度
往期回顾 全部

科技要闻

小鹏最贵SUV预售39.98万!L4架构3000TOPS算力

头条要闻

欧洲100万人请愿要求制裁以色列 以总理:欧洲道德软弱

头条要闻

欧洲100万人请愿要求制裁以色列 以总理:欧洲道德软弱

体育要闻

三球准绝杀戴大金链:轰30+10自我救赎

娱乐要闻

谢娜现身环球影城,牵手女儿温馨有爱

财经要闻

业绩失速的Lululemon:"健康"人设崩塌?

汽车要闻

空间丝毫不用妥协 小鹏GX首发评测

态度原创

健康
艺术
教育
时尚
本地

干细胞抗衰4大误区,90%的人都中招

艺术要闻

郑丽文平底鞋争议未平,马英九书法引热议。

教育要闻

锦州市第一高级中学纪念复校30周年展览馆

赫本爱穿的伞裙,好优雅!

本地新闻

12吨巧克力有难,全网化身超级侦探添乱

无障碍浏览 进入关怀版