20190101.DDD笔记
生活随笔
收集整理的這篇文章主要介紹了
20190101.DDD笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
建立領域模型步驟
?
三原則
?
實踐
1.信息2.業務場景圖&業務流程圖
- 業務事件
- 時間序列
- 所有的事件
- 命名:聚合#動詞的過去時
- 來源:
```
```
- 注意:
```
```
- 命名: 動詞
- 定義:生命周期相同的領域對象(實體、值對象)的集合。
- 方法:可在cmd和event之間夾出聚合。
```
```
- 來源:領域對象,來源于業務概念。
- 值對象:無id,狀態不可變 DDD中的值對象與C#的struct很像相似,是不是值對象應該使用struct? 答:struct 作為一種技術選擇,有時候也許可行,但或許更多時候是不可行,比如:struct不能為空,使得不能與領域對象對應。
- 實體:有id,有狀態
- 識別:同一個對象,有時表達的含義不同時,此時可能需要兩個限界上下文。
- 盡量大
- 跨限界上下文訪問:RPC、REST、MQ
- 盡量使子域和限界上下文對應。
- 子域、限界上下文對應項目(微服務的話,對應應用服務)
- 聚合對應actor(或者對象類)
- 推薦盡量一個實體對應一個聚合對應一個actor
- 應用服務對應Controller API
- 領域事件對應事件
- 實體反映在數據庫表結構
- Repository類似DAO
- DTO在應用層
RESTful架構下的API設計
1. 從命令出發
2. 從資源出發
RESTful架構下“資源”(resource)識別至關重要。在整個DDD建模中,聚合和實體都是我們抽象資源的重要入手點。
這種方法比較適合識別Domain層的API設計。
3. 從業務流出發
API 最終都要滿足業務的需求,所以也有API設計方法從流程節點的分析出發。
這種設計方法更適合Application層的API設計
4. 定義關鍵詞動詞描述
(如果有不正確的地方,希望童鞋指正)
?(如果有不正確的地方,希望童鞋指正)
?
?
?
?
?
?
?
?
?
?
?
轉載于:https://www.cnblogs.com/CharlesZHENG/p/10205258.html
總結
以上是生活随笔為你收集整理的20190101.DDD笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj3786: 星系探索
- 下一篇: 栈的实现