2010-02-13 98 views
0

我有一個叫'工具'的類。工具具有如下屬性:名稱,描述和一些特定的其他屬性。工具是特殊的,因爲名稱和其他是隻讀的,但描述可以由用戶修改。實體,價值對象還是它應該是什麼?

工具數量是不變的,並且在開發時已知。它不是Value Object,因爲我需要查詢它們並向用戶顯示它們可以更新Description的位置。所以,這是一種實體,但用戶無法創建新的工具。

我正在尋找可能採取的工具,像這樣:

Tool.SomeGreatTool 

其中SomeGreatTool是工具名稱爲「一些偉大的工具」,並描述應該是這樣的用戶指定的相同。

Jimmy Bogard has solution almost perfect但NHibernate知道SomeGreatTool的任何內容,並且說明將爲空。

如何修改Jimmy的解決方案或如何以不同的方式做到這一點?如何從數據庫實例化SomeGreatTool?

+0

我能說什麼......並非所有的答案都適合我的解決方案:( – dariol 2010-02-14 22:37:29

回答

1

我們仍將這些類型的半常量數據視爲一種衆所周知的實體。我們爲工具類型創建值對象/枚舉類,但是從工具中分離工具類型。你仍然需要去持久存儲庫來做類似ToolRepository.Find(ToolType.Screwdriver)的事情。即使每個工具類型只有一個工具,但仍然會將這兩個概念分開。

+0

非常感謝:) – dariol 2010-02-17 17:49:38