日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

商品领域ddd_DDD领域驱动实战 - 限界上下文(bounded context)

發布時間:2025/4/16 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 商品领域ddd_DDD领域驱动实战 - 限界上下文(bounded context) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

限界上下文定義領域邊界,以確保每個上下文含義在它特定的邊界內都具有唯一的含義,領域模型則存在于這個邊界之內。

通用語言

在事件風暴過程中,通過團隊交流達成共識的,能夠簡單、清晰、準確描述業務涵義和規則的語言。限界上下文中的通用語言向我們提供了設計領域模型的概念術語。

通用語言不是平白產生的,它必須通過與領域專家詳細討論之后才能得到的統一語言,不管你在團隊中承擔什么角色,在同一領域的軟件生命周期里都使用統一的語言進行交流。通用語言定義上下文含義,它可解決交流障礙,使領域專家和開發人員能夠協作,從而確保業務需求的正確表達。

通用語言包含術語和用例場景,能夠直接反映在代碼。通用語言中的 - 名詞,用于給領域對象等概念命名,如商品、訂單,對應實體對象 - 形容詞,用于描述這些概念 - 動詞,表示可以完成的操作,比如一個動作或事件,如商品已下單、訂單已付款,對應領域事件或者命令

通用語言貫穿DDD。基于它,代碼可讀性更好,將業務需求準確轉化為代碼設計。

  • 從事件風暴建立通用語言到領域對象設計和代碼落地過程

  • 在事件風暴的過程中,領域專家會和設計、開發人員一起建立領域模型,在領域建模的過程中會形成通用的業務術語和用戶故事。事件風暴也是一個項目團隊統一語言的過程
  • 通過用戶故事分析會形成一個個的領域對象,這些領域對象對應領域模型的業務對象,每一個業務對象和領域對象都有通用的名詞術語,并且一一映射
  • 微服務代碼模型來源于領域模型,每個代碼模型的代碼對象跟領域對象一一對應。

設計過程可以用一些表格,來記錄事件風暴和微服務設計過程中產生的領域對象及其屬性。比如,領域對象在DDD分層架構中的位置、屬性、依賴關系以及與代碼模型對象的映射關系等。

下面是一個微服務設計實例的部分數據,表格中的這些名詞術語就是項目團隊在事件風暴過程中達成一致、可用于團隊內部交流的通用語言。

DDD分析過程中所有的領域對象及它們的屬性都被記錄,除了領域對象,還記錄了在微服務設計過程中領域對象所對應的代碼對象,并一一映射。

DDD分析和設計過程中的每一個環節都需要保證限界上下文內術語的統一,在代碼模型設計的時侯就要建立領域對象和代碼對象的一一映射,從而保證業務模型和代碼模型的一致,實現業務語言與代碼語言的統一。

做到這點,就建立了領域對象和代碼對象的映射關系,即可指導開發準確無誤按設計文檔完成微服務開發。即使是不熟悉代碼的業務人員,也可很快找到代碼位置。

限界上下文

語言都有語義環境,通用語言亦是。為避免同樣概念或語義在不同上下文環境中歧義,DDD在提出“限界上下文”,確定語義所在的領域邊界。就可在統一的領域邊界內用統一的語言進行交流。

就是封裝通用語言和領域對象,提供上下文環境,保證在領域之內的一些術語、業務相關對象等(通用語言)有一個確切的含義,沒有二義性。 這個邊界定義了模型的適用范圍,使團隊所有成員能夠明確地知道什么應該在模型中實現,不應該在模型中實現。

案例

都說漢語博大精深,不同的情境下,一個詞會有不同涵義。比如小孩問媽媽:“今天應該穿幾件衣服呀?”媽媽說:“能穿多少就穿多少!”那到底是穿多還是穿少?沒有具體語境,還真不好判斷。但若限定語境,比如寒冬或炎夏,就很清晰了。所以語言離不開它的語義環境。

業務的通用語言也有它的業務邊界。限界上下文就是用來細分領域,從而定義通用語言所在的邊界。

如電商領域的商品,商品在不同階段有不同術語,在銷售階段是商品,而在運輸階段 則變成貨物。同一個東西,由于業務領域不同,賦予了這些術語不同涵義和職責邊界,這個邊界就可能會成為未來微服務設計的邊界。領域邊界就是通過限界上下文來定義的。

限界上下文和微服務

車險承保的流程包含了投保、繳費、出單等幾個主要流程。如果出險了還會有報案、查勘、定損、理算等理賠流程。 保險領域被拆分為:投保、支付、保單管理和理賠四個子域。子域還可根據需要進一步拆分為子子域,比如,支付子域可繼續拆分為收款和付款子子域。拆到一定程度后,有些子子域的領域邊界就可能變成限界上下文的邊界了。子域可能會包含多個限界上下文,如理賠子域就包括報案、查勘和定損等多個限界上下文(限界上下文與理賠的子子域領域邊界重合)。也有可能子域本身的邊界就是限界上下文邊界,如投保子域。 每個領域模型都有它對應的限界上下文,團隊在限界上下文內用通用語言交流。領域內所有限界上下文的領域模型構成整個領域的領域模型。理論上限界上下文就是微服務的邊界。我們將限界上下文內的領域模型映射到微服務,就完成了從問題域到軟件的解決方案。 限界上下文是微服務設計和拆分的主要依據。在領域模型中,如果不考慮技術異構、團隊溝通等其它外部因素,一個限界上下文理論上就可以設計為一個微服務。 不過微服務的拆分還是有很多限制因素的,在設計中不宜過度拆分

總結

通用語言確定了項目團隊內部交流的統一語言,而這個語言所在的語義環境則是由限界上下文來限定的,以確保語義的唯一性。 領域專家、架構師和開發人員的主要工作就是通過事件風暴來劃分限界上下文。限界上下文確定了微服務的設計和拆分方向,是微服務設計和拆分的主要依據。如果不考慮技術異構、團隊溝通等其它外部因素,一個限界上下文理論上就可以設計為一個微服務。

參考 - 限界上下文:定義領域邊界的利器

總結

以上是生活随笔為你收集整理的商品领域ddd_DDD领域驱动实战 - 限界上下文(bounded context)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品天天干 | 国产精品电影 | 九色tv| 97av视频在线| 免费一级特黄特色毛片久久看 | 亚洲人成无码网站久久99热国产 | 中国毛片视频 | 亚洲欧洲成人在线 | 91av视频在线| 久久视频热| 少妇精品视频 | 91吃瓜今日吃瓜入口 | 天天插天天干天天操 | 欧美一区二区福利视频 | 冲田杏梨av | 国产99re| 超碰黄色| 黄色同人网站 | 欧美色狠 | 四虎影院在线视频 | 久久精品1 | 欧美最猛黑人xxxx黑人猛交 | 亚洲一二三视频 | youjizz.com中国 | 午夜宅男影院 | 综合网色| 国产精品老牛影视 | 男人狂揉女人下部视频 | 操她视频在线观看 | 韩国三级hd中文字幕 | av一区在线播放 | 97人妻人人揉人人躁人人 | 朴银狐电影中文在线看 | 国产精品久久91 | 国产精品主播 | 亚洲区成人 | 日韩最新| 香蕉综合网 | 国产经典三级在线 | 99这里都是精品 | 不卡一区在线 | 男女拍拍拍网站 | 爆乳2把你榨干哦ova在线观看 | 色5566| 新x8x8拨牐拨牐永久免费影库 | 粉嫩av国产一区二区三区 | 偷偷色噜狠狠狠狠的777米奇 | 91爱在线观看 | 伊人久久久久久久久久久久 | 久久久久亚洲av无码麻豆 | 午夜视频色 | 亚洲国产丝袜 | 老头吃奶性行交 | 免费观看一级黄色片 | 老熟妇仑乱视频一区二区 | 国产美女一级片 | 97se亚洲综合 | 激情久久久久久 | 免费无码一区二区三区 | 欧美放荡办公室videos4k | 美女扒开下面让男人捅 | 四虎国产精品永久在线国在线 | 丰满肥臀噗嗤啊x99av | 国产精品青青草 | 国产大片一区二区三区 | 奇米影视第四色7777 | 欧美午夜视频在线观看 | 午夜美女福利 | 九久久 | 久久久久久艹 | 成人性生生活性生交3 | 精品日韩欧美 | 精品久久福利 | 四色成人网| 午夜久久久久 | 欧美成人三级在线 | 国产av人人夜夜澡人人爽麻豆 | 91精品在线播放 | 亚洲操一操| 国产精品人成在线观看免费 | 熟女肥臀白浆大屁股一区二区 | 亚洲欧美经典 | 婷婷深爱| heyzo久久 | 亚洲av永久无码精品放毛片 | 亚洲国产日韩欧美在线观看 | 成人黄色小说视频 | 日韩少妇视频 | 少妇毛片一区二区三区粉嫩av | 丁香在线 | 人人人超碰 | 69pao| 亚洲电影一区二区三区 | 一本久 | 天天射网站 | 精品国产一区二区三区四区精华 | 亚洲av无码国产精品永久一区 | 精品盗摄一区二区三区 | 国产精品久久久久久亚洲伦 |