1 前置閱讀 在閱讀本文章之前,你可以先閱讀: 什么是DDD 2 實現值對象 值對象有兩個主要特征:它們沒有任何標識。它們是不可變的。 我們舉個例子:小明是“浙江寧波”人,小紅也是“浙江寧波”人,小王是“浙江杭州”人,在這個例子中,我們把地址可以獨立出一個值對象出來,我們會遇到 ...
關於具體需求,請看前面的博文:DDD領域驅動設計實踐篇之如何提取模型,下面是具體的實體 聚合 值對象的代碼,不想多說什么是實體 聚合等概念,相信理論的東西大家已經知曉了。本人對DDD表示好奇,沒有在真正項目實踐過,甚至也沒有看過真正的DDD實踐的項目源碼,處於極度糾結狀態,甚至無法自拔,所以告誡DDD愛好者們,如果要在項目里面實踐DDD,除非你對實體建模和領域職責非常了解 很多時候會糾結一些邏輯放 ...
2014-08-27 08:34 4 5123 推薦指數:
1 前置閱讀 在閱讀本文章之前,你可以先閱讀: 什么是DDD 2 實現值對象 值對象有兩個主要特征:它們沒有任何標識。它們是不可變的。 我們舉個例子:小明是“浙江寧波”人,小紅也是“浙江寧波”人,小王是“浙江杭州”人,在這個例子中,我們把地址可以獨立出一個值對象出來,我們會遇到 ...
領域驅動設計DDD在戰術建模上提供了一個元模型體系(如下圖): DDD構建的元模型元素腦圖 元模型往往用來在某一特定的領域定義一個基礎的通用 ...
其他博文: DDD 領域驅動設計-三個問題思考實體和值對象 DDD 領域驅動設計-三個問題思考實體和值對象(續) 以下內容屬於博主“臆想”,如有不當,請別當真。 扯淡開始: 諾蘭的最新電影《星際穿越》,最近非常的火熱,每個人看完之后都會有不一樣的感受,黑洞、蟲洞、時間旅行 ...
消息場景:用戶 A 發送一個消息給用戶 B,用戶 B 回復一個消息給用戶 A。。。 現有設計:消息設計為實體並為聚合根,發件人、收件人設計為值對象。 三個問題: 實體最重要的特性是什么? Message 實體是怎么得來的? 發件人、收件人為什么不是實體? 1. 實體最重 ...
上一篇:DDD 領域驅動設計-三個問題思考實體和值對象 說實話,整理現在這一篇博文的想法,在上一篇發布出來的時候就有了,但到現在才動起筆來,而且寫之前又反復讀了上一篇博文的內容及評論,然后去收集資料,真正去寫的時候,才發現這類的博文真不是一般的難寫,一句話要反復揣摩,並進行理解,最重要的是半天 ...
建立領域模型的第一步就是需要識別出實體、值對象與領域服務。 一.實體 1.實體是領域中需要唯一標識的領域概念。通常在業務中,需要唯一標識與區分的對象並需要持續對它進行跟蹤,這樣的對象我們認為是實體。這里的唯一標識通常指的是業務上的唯一標識,比如訂單號、雇員工號等信息,而不是數據庫中因為技術需要 ...
1.聚合根、實體、值對象的區別? 從標識的角度: 聚合根具有全局的唯一標識,而實體只有在聚合內部有唯一的本地標識,值對象沒有唯一標識,不存在這個值對象或那個值對象的說法; 從是否只讀的角度: 聚合根除了唯一標識外,其他所有狀態信息都理論上可變;實體是可變的;值對象是只讀 ...
本文首發於 vivo互聯網技術 微信公眾號 鏈接:https://mp.weixin.qq.com/s/oAD25H0UKH4zujxFDRXu9Q作者:wenbo zhang 【領域驅動設計實踐之路】往期精彩文章: 《領域驅動設計(DDD)實踐之路(一)》 主要講述了戰略層面 ...