[對不起,工作是私有的,因此我不能給對象的詳細信息]應該模型對象靈活
我與同事的Java應用程序的工作。我正在做客戶端,他正在編寫服務器代碼。
該應用程序顯示一個X對象表。表中的列顯示X的一些屬性。另外,我們有一列顯示了每個X的Y數。(關聯是多對一的Y到X和一種方式,Y有一個對它的父X的引用)。
Y的計數不是X的屬性,而是通過DB上的查詢獲得的。
我正在使用TableModel,因此使用X對象作爲表格的模型顯然會更容易。但由於Y計數不是X的一個屬性,我需要創建一個容器對象來保存一個X和一個計數。這很煩人,因爲它增加了一個看起來沒有必要的類。
我建議我的同事說,他一個額外的字段添加到X加一個getter:
私人無效地圖信息=新的HashMap();
這將使模型對象X更加靈活。我可以隨時在客戶端存儲任何需要的狀態,而不影響模型的主要屬性,這些屬性是X的特性。只有在客戶端中定義密鑰才能保證模型不會受到污染。
他拒絕了,因爲他認爲模型對象應該只對域進行建模,並且額外的域與域對象無關,因此不應該添加。他認爲客戶應該處理這個問題。
這兩種觀點似乎都有優點,所以我會對其他讀者對此有何看法/感受感興趣。
感謝,
添
那麼說。我看到許多人將MVC作爲應用程序中所有圖層的模式(這是一種誤解)。 – 2010-09-14 09:13:35