0
爲魚商提供軟件。 爲了銷售某種魚,用戶界面顯示了魚的圖片。用戶可以點擊它,然後彈出一個窗口,他可以選擇一個不同的魚。UI中的依賴和回調
在一個天真的實現,組件需要
- 訪問FishImageLibrary,檢索圖像
- 訪問FishSelectionPopup,要求用戶輸入一個新的魚類
解決方案1:一起傳遞兩個類。 問題是我們的組件可能在另一個組件內。所以這兩個類必須傳遞給我們的組件,從而在各處創建依賴關係。
解決方案2:回調。 使用回調的實現不會很乾淨,要麼是因爲組件可能位於另一個組件中,而且該事件必須在整個層次結構中傳播。這需要對幾個類進行更改。
對於一個真正乾淨的解決方案的任何建議?
由父組件分配圖像:好主意。但是,當我們想要在第二個地方使用這個圖片盒時不太好。命令模式打開Popup:是的,我會這樣做。 – LTR 2011-04-28 15:22:52
「父組件」解決方案描述非常鬆散。這取決於你的應用程序如何工作和所有。但基本上你可以擁有儘可能多的圖片盒,只要他們有一些超級組件可以設置他們的pictureAddress。他們可以實現與其他組件共享的更通用的setter方法,或者如果要將它們配置爲像圖片方向之類的東西,而這些方法無法自行解決,那麼它們可以保持特定的方式。 – Jad 2011-04-28 15:43:41