2010-08-05 25 views
2

當利用UI抽象時,您所顯示的數據將不受UI層中實施更改的影響。是否/應該/可以擴展到更高層次的東西,例如,顯示爲樹或網格?我無法弄清楚如何將抽象與UI如何顯示通過抽象獲得的數據的更高層細節隔離開來。利用UI抽象

回答

0

您想從Model-View-Controller體系結構開始。這使您可以儘可能地隔離用戶界面的數據更改。模型圖層是您的數據對象。 View層是您實際的Swing組件。 Controller層是你的聽衆。模型層獨立於其他兩個編寫,不知道類。視圖層是在不知道Controller層的情況下編寫的。

如果您需要更多的抽象,可以爲您的Model層創建接口,以便幾個不同的數據模型都可以使用相同的接口。這樣,無論您將什麼數據提供給View層,它都只是通過使用界面來顯示它。

也意識到,這不是總能做到你的要求。有時需要爲顯示的數據專門編寫用戶界面。樹並不總是一棵樹,而一個網格並不總是一個網格。它可以很好地定製View層以匹配顯示的數據。這樣,您就可以專門針對正在操作的數據定製功能,併爲您的用戶創建更好的界面。

當然,它應該在有意義的地方完成。這是經驗和判斷力發揮重要作用的地方。