我發現自己需要讓View公開它的模型和控制器引用。這是不好的設計的氣味?或者這被認爲是「安全」的做法?MVC範例:從視圖中揭示模型和控制器
例如:我有一個列表(的ListView
,ListController
和ListModel
組成)和許多列表項(的ItemView
,ItemController
和ItemModel
組成)。
當我創建ItemModel
,ItemView
,並且ItemController
列表的每個項目,我通過ItemView
實例關閉的ListView
。但是,稍後,我的ListController
需要參考相應的ItemController
實例。
所以,這將是更恰當的同時通過ItemView
和中ListView::addItem()
的ItemController
,或只是通過在ItemView
和暴露爲ItemView::getController()
實例方法等?
還是沒關係?每種方法均可行嗎?如果遵循他們的邏輯結論,兩種策略都會導致反模式嗎?
'但是,在稍後的時間點,我的ListController需要對相應的ItemController實例的引用 - 爲什麼?如果你正確地解耦你的類,你不應該需要這個。 – 2012-03-05 19:24:06
'當我創建ItemModel,ItemView和ItemController'時,您爲列表中的每個項目創建一個控制器? - 這對我來說是一種氣味。 – 2012-03-05 19:33:53
你在說網絡或桌面應用程序嗎?它們是有區別的。 – 2012-03-05 19:48:43