我剛開始學習領域驅動設計,和的幾件事情之一是讓我困惑的最多的是如何確定哪一個應該是實體,它應該是值對象DDD:分類實體/值對象
我知道,以確定實體/值對象,我們要立足於域範圍內,在一個方面,一個域對象可以是實體的,在另一個,它可以是值對象,但還是有一些情況下,我不能決定
.eg解決 - 在客戶管理應用程序(讓我們只說一個應用程序來管理客戶,添加/刪除/更改狀態,客戶等)的情況下,地址顯然是值對象,因爲在這裏我們並不需要一個地址來區分另一方面,2個客戶可以擁有相同的地址 - 另一方面,在線上預訂應用程序的情況下,我可以說地址是一個實體嗎?因爲現在我們需要他們的帳單地址來區分客戶(忽略的情況下2個客戶具有相同地址的時刻)
對我來說,地址是唯一的本身,所以它肯定已經有了身份。因此,域對象的身份不會決定它是一個實體還是值對象,如果是的話,那麼選擇的關鍵因素是什麼?
另外一個例子,我有一個應用程序,它列出一個國家的多個領域,用戶可以選擇一個區域,並找到所有適合他們的搜索條件在這一領域的餐館。在這種情況下,區域是一個值對象還是實體?目前我認爲它更多的是一個實體,但仍不是很確定。每個區域是唯一的也是
我不知道我的問題是清澈還是不行,我盡我所能來解釋我的想法目前
非常感謝你,你的解釋是我正在尋找的東西,現在一切都更清晰 – 2012-03-19 15:42:47
謝謝,Phuong,很高興它幫助。 – 2012-03-19 21:16:05