可能重複:
Value vs Entity objects (Domain Driven Design)參照實體標識符DDD值對象
在領域驅動設計(DDD)一個的ValueObject具有以下定義
甲價值對象是描述某些特性或屬性的對象,但不包含標識的概念TY。
可以說我有'客戶'實體和'訂單'實體。訂單與客戶有關,所以通常我會在Order類中添加字段ClientId,因爲我可能不會引用客戶實體本身。到目前爲止這麼好...
現在我想知道是否創建一個值對象ClientInfo,它將包括客戶端名稱,客戶端狀態,,還包括ClientId? ClientInfo只有clientName,clientStatus和clientId的getter纔是不可變的。
所以你有它,一個具有實體標識符的值對象。這是否違背價值對象的定義,還是我在這裏安全?
我不認爲這個問題是引用問題的重複。在這裏,OP特別詢問價值對象中的ID,而不是關於實體/價值對象的一般概念。 – theDmi
這確實不是重複提及的問題,而是更具體地針對價值對象及其約束。該定義談到了ValueObject沒有標識的概念,這意味着ValueObject不應該有代表ValueObject的ID。但是,ValueObject可能包含標識符,指的是實體 – ChrisMir