0
Deall全部,這個實現是否工作?
我正在設計一個使用DDD的車輛登記系統。它需要存檔所有車輛的註冊,以便車輛在其整個使用期間的註冊可以很容易閱讀。
要實現這一要求,我會簡單地把「註冊」 S作爲在車輛的集合,如下圖所示:
//The Aggregation Root
public class Vehicle
{
GUID id;
List<Registration> registrations_;
......
public Vehicle() { ..... }
...
}
//The Value Object
public class Registration
{
Vehicle vehicle_;
decimal amount_;
......
//The calendar interval for a single registration.
Period period_;
public Registration() { .... }
}
任何人可以在此實現是否真正符合上文親切評論上述要求?需要改進嗎?
數據將通過NHibernate或EF使用代碼優先方法在SQL Server 2008中持久化!
謝謝!
Nathan
這將是很好的一些使用場景的更多細節。你能否解釋爲什麼你選擇將'Registration'作爲一個值對象? –
感謝您的評論,湯米!一種使用場景是,用戶在檔案中搜索車輛,並用其許可證號碼進行搜索,然後獲取該車輛在時間線上顯示的註冊歷史記錄,這可以使用Silverlight實施。 **註冊**是一個實體,因爲每個註冊必須被唯一標識並且不可變!對不起,錯誤! – NathanL
糟糕! **註冊**是可變的! – NathanL