亚洲中文字幕乱码亚洲-蜜桃成熟视频在线观看-免费中文字幕视频在线-中国五十路熟妇洗澡视频-亚洲av伊人啪啪c-国产精品成人一区二区-国产自拍视频一区在线观看-成人一区不卡二区三区四区-亚洲情精品中文字幕99在线

網(wǎng)易首頁 > 網(wǎng)易號 > 正文 申請入駐

架構(gòu)師吵了15年的懸案:倉儲接口到底該放哪層

0
分享至

2023年Stack Overflow調(diào)研顯示,67%的.NET開發(fā)者仍在把倉儲接口和實現(xiàn)塞在同一層。這不是技術(shù)債,是架構(gòu)認知的代際斷層。

基礎設施層(Infrastructure Layer)被戲稱為"最無聊的層",卻藏著軟件設計中最持久的爭議。它本該是技術(shù)細節(jié)的隔離帶,卻成了耦合的重災區(qū)。

從N層到六邊形:一場持續(xù)20年的遷徙

早期的N層架構(gòu)里,基礎設施層是鏈條末端。業(yè)務層直接操作數(shù)據(jù)庫對象,倉儲接口和實現(xiàn)擠在同一層——這在CRUD時代完全夠用。

但現(xiàn)代系統(tǒng)的技術(shù)棧復雜度翻了十倍。消息隊列、外部API、緩存、對象存儲、日志框架……每個都是潛在的泄漏點。

六邊形架構(gòu)(Hexagonal Architecture)和整潔架構(gòu)(Clean Architecture)的出現(xiàn),本質(zhì)上是一次"方向反轉(zhuǎn)":讓業(yè)務核心成為宇宙中心,基礎設施變成可替換的插件。

關鍵轉(zhuǎn)變:倉儲接口被抽離到領域?qū)樱―omain Layer)或應用層(Application Layer),基礎設施層只保留實現(xiàn)。

這解決了三個頑疾:業(yè)務邏輯可以獨立編譯測試、技術(shù)細節(jié)不再向上滲透、替換數(shù)據(jù)庫時不用重寫業(yè)務代碼。

那些藏在代碼庫里的"智能陷阱"

我見過最隱蔽的反模式是"智能倉儲"(Smart Repository)——在倉儲里塞業(yè)務邏輯,比如自動計算折扣后存儲、或者根據(jù)狀態(tài)觸發(fā)副作用。

表面看是代碼復用,實際是職責錯位。倉儲變成了披著技術(shù)外衣的業(yè)務層,測試時需要連數(shù)據(jù)庫一起啟動,單元測試淪為集成測試。

另一個常見坑是"領域泄漏的工具類"。一個處理貨幣計算的`MoneyUtils`,內(nèi)部偷偷調(diào)用了外部匯率服務。業(yè)務代碼以為自己在用純函數(shù),實際上被網(wǎng)絡延遲和第三方故障綁架。

框架驅(qū)動設計(Framework-Driven Design)更隱蔽。團隊選了某個ORM后,實體類被迫繼承框架基類、屬性被打上特性標簽(Attribute)。領域模型淪為持久化模型的附庸,換ORM等于重寫核心業(yè)務。

邊界劃分的實戰(zhàn)法則

判斷接口歸屬有個樸素標準:誰需要依賴它?

應用層需要持久化數(shù)據(jù) → 倉儲接口屬于應用層或領域?qū)印;A設施層實現(xiàn)接口 → 依賴關系向內(nèi)指向核心,而非向外擴散。

端口與適配器(Ports and Adapters)的命名很貼切:業(yè)務核心定義"我要什么"(端口),基礎設施回答"我怎么做"(適配器)。

日志和緩存這類橫切關注點更微妙。如果日志格式包含業(yè)務語義(如"用戶{userId}下單失敗"),接口應由應用層定義;純技術(shù)日志(如SQL執(zhí)行時間)則可留在基礎設施層。

外部服務調(diào)用是重災區(qū)。我見過團隊在基礎設施層直接返回供應商DTO,業(yè)務層被迫消化第三方字段命名。正確的切口:基礎設施層做防腐轉(zhuǎn)換(Anti-Corruption Layer),進出都是領域?qū)ο蟆?/p>

測試策略是檢驗標準。理想的領域?qū)訙y試應該能在內(nèi)存中跑完,啟動時間以毫秒計。如果跑測試需要Docker Compose,說明邊界畫錯了。

一個仍在演進的共識

整潔架構(gòu)提出者Robert C. Martin近年修正過早期觀點:接口定義的位置沒有絕對答案,取決于變更頻率和團隊規(guī)模。

小團隊、單體應用、技術(shù)棧穩(wěn)定——接口放基礎設施層,減少抽象層數(shù)。多團隊、微服務、技術(shù)棧可能替換——接口必須靠近業(yè)務核心。

這不是非黑即白的選擇,是權(quán)衡后的刻意設計。

微軟eShopOnContainers示例項目把倉儲接口放在應用層,基礎設施層用EF Core實現(xiàn)。但GitHub上有個高星Fork把接口下沉到領域?qū)樱驗閳F隊需要支持MongoDB和SQL Server雙寫——同一套代碼,不同邊界決策。

你的代碼庫里,倉儲接口現(xiàn)在躺在哪一層?最近一次替換數(shù)據(jù)庫或框架時,你改了百分之多少的文件?

特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務。

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.

相關推薦
熱點推薦
參考封面|伊朗戰(zhàn)爭加速美國霸權(quán)衰落

參考封面|伊朗戰(zhàn)爭加速美國霸權(quán)衰落

參考消息
2026-04-16 16:49:03
楊某媛辭職了!而且社交媒體賬號也被注銷……

楊某媛辭職了!而且社交媒體賬號也被注銷……

麥杰遜
2026-04-16 12:04:33
杭州一診所用一個針頭給15人采血,居民擔心傳染疾病,診所負責人:已開除涉事員工,并帶采血居民體檢打疫苗

杭州一診所用一個針頭給15人采血,居民擔心傳染疾病,診所負責人:已開除涉事員工,并帶采血居民體檢打疫苗

極目新聞
2026-04-16 18:04:42
極大反差:中國人暴跌55%,日本外國游客又創(chuàng)新高,俄羅斯人增26%

極大反差:中國人暴跌55%,日本外國游客又創(chuàng)新高,俄羅斯人增26%

壹只灰鴿子
2026-04-15 22:41:48
不再是120/80,“新血壓標準”已公布,別再自己嚇自己!

不再是120/80,“新血壓標準”已公布,別再自己嚇自己!

芹姐說生活
2026-04-14 23:27:03
71.5%!歷史性暴跌,以貸養(yǎng)貸的泡沫崩了

71.5%!歷史性暴跌,以貸養(yǎng)貸的泡沫崩了

月滿大江流
2026-04-16 13:54:38
4月16日俄烏最新:烏克蘭終于迎來了春天

4月16日俄烏最新:烏克蘭終于迎來了春天

西樓飲月
2026-04-16 19:10:03
蘋果首次成為全球手機市場第一!份額21%,三星20%,這回是真的了

蘋果首次成為全球手機市場第一!份額21%,三星20%,這回是真的了

數(shù)碼Antenna
2026-04-16 11:52:53
牛肉頂多注個水豬肉頂多催個肥,唯有三文魚全程cosplay

牛肉頂多注個水豬肉頂多催個肥,唯有三文魚全程cosplay

富貴說
2026-04-14 23:15:09
女主播直播吃“蛇肉”猝死,吐出紅黑物質(zhì),醫(yī)生表示:吃的不是蛇

女主播直播吃“蛇肉”猝死,吐出紅黑物質(zhì),醫(yī)生表示:吃的不是蛇

草莓解說體育
2026-04-16 13:24:49
伊朗自己恐怕都不敢信,40天的血戰(zhàn),硬生生打出來半個世紀的國運

伊朗自己恐怕都不敢信,40天的血戰(zhàn),硬生生打出來半個世紀的國運

浪子阿邴聊體育
2026-04-14 18:50:21
再獲天量援助,烏克蘭穩(wěn)了

再獲天量援助,烏克蘭穩(wěn)了

名人茍或
2026-04-16 14:47:07
鞠婧祎方回應“絲芭創(chuàng)始人王子杰去世”:不與爭論,生命為大,愿安息;王子杰曾創(chuàng)立SNH48,打造鞠婧祎“四千年美女”標簽,推動其成頂流

鞠婧祎方回應“絲芭創(chuàng)始人王子杰去世”:不與爭論,生命為大,愿安息;王子杰曾創(chuàng)立SNH48,打造鞠婧祎“四千年美女”標簽,推動其成頂流

大風新聞
2026-04-16 14:09:04
女教師群聊“八卦”被拘,起訴公安局再被駁回

女教師群聊“八卦”被拘,起訴公安局再被駁回

中國新聞周刊
2026-04-16 09:02:37
俄羅斯和阿塞拜疆同意妥善處置阿客機墜機事件

俄羅斯和阿塞拜疆同意妥善處置阿客機墜機事件

環(huán)球網(wǎng)資訊
2026-04-15 22:52:40
臥槽!41+12+7!老大太強了,楊瀚森創(chuàng)造季后賽二進宮紀錄了

臥槽!41+12+7!老大太強了,楊瀚森創(chuàng)造季后賽二進宮紀錄了

體育新角度
2026-04-15 23:06:34
中國駐日大使館接連遭到恐怖威脅

中國駐日大使館接連遭到恐怖威脅

界面新聞
2026-04-16 15:16:17
吳昕被曝帶鄭凱和何炅維嘉聚餐,“吳昕鄭凱在一起七年”登上熱搜

吳昕被曝帶鄭凱和何炅維嘉聚餐,“吳昕鄭凱在一起七年”登上熱搜

韓小娛
2026-04-16 16:10:53
明日三月初一,三月第一天,提醒大家5件事別犯了忌諱,不是迷信

明日三月初一,三月第一天,提醒大家5件事別犯了忌諱,不是迷信

阿龍美食記
2026-04-16 13:36:07
搶劫殺害網(wǎng)紅“羅大美”主犯余金生被執(zhí)行死刑

搶劫殺害網(wǎng)紅“羅大美”主犯余金生被執(zhí)行死刑

新京報
2026-04-16 14:19:06
2026-04-16 21:48:49
硬核玩家2哈
硬核玩家2哈
沉淀中,勿擾
1465文章數(shù) 7關注度
往期回顧 全部

科技要聞

趙明:智駕之戰(zhàn),看誰在大模型上更高效

頭條要聞

上海業(yè)主傻眼 安保、保潔突然全離崗小區(qū)垃圾堆積成山

頭條要聞

上海業(yè)主傻眼 安保、保潔突然全離崗小區(qū)垃圾堆積成山

體育要聞

皇馬拜仁踢出名局,但最搶鏡的還是他

娛樂要聞

絲芭傳媒創(chuàng)始人王子杰去世,享年63歲

財經(jīng)要聞

海爾與醫(yī)美女王互撕 換血抗衰生意迷霧

汽車要聞

空間大五個乘客都滿意?體驗嵐圖泰山X8

態(tài)度原創(chuàng)

健康
家居
親子
藝術(shù)
軍事航空

干細胞抗衰4大誤區(qū),90%的人都中招

家居要聞

智能舒適 簡約風尚

親子要聞

寶藍和爸爸一起過圣誕節(jié),裝扮圣誕樹,還做了美味的蛋糕~

藝術(shù)要聞

張大千『 花菓薈萃冊』

軍事要聞

封鎖霍爾木茲海峽后 美釋放雙重信號

無障礙瀏覽 進入關懷版