2
將數據庫驅動的程序員通常將定義爲自定義類型的實體的Id而非原始類型的目的是什麼?DDD - 爲什麼實體的身份不僅僅是原始類型?
將數據庫驅動的程序員通常將定義爲自定義類型的實體的Id而非原始類型的目的是什麼?DDD - 爲什麼實體的身份不僅僅是原始類型?
首先,域實體必須獨立於存儲設計(其他問題是有時不可能,但讓我們假設這一點)。在現實世界中(或在領域世界中)實體通常具有複雜的身份,如名字,姓氏和密碼。這不是原始的。人們從出生時就沒有int ID,但他們有姓名和其他文件。所以,你需要將它翻譯成你的領域模型。有時候,你沒有這樣複雜的身份,你可以用一些更簡單的替換它,比如int數。但是在這兩種情況下,如果您嘗試使用DDD,您的選擇不應該基於數據庫(這很難,是的)。之後,您將創建從域實體到表或其他存儲的映射。
我有一個類似的問題之前http://stackoverflow.com/questions/31214565/entity-identity-use-of-strings-instead-of-type – g18c