2011-06-08 52 views
0

我一直在尋找這種模式一段時間,但仍然沒有得到很好的表示方式。設計模式來處理版本特定顯示給用戶

考慮一個需要根據版本顯示對象屬性的GUI設計,這些版本指定哪些屬性對客戶端有意義。 (比如說客戶端有支持版本的詳細信息)

GUI佈局需要根據此對象的版本進行更改。例如,對於某些版本,我們想要顯示附加菜單等。對於一些我們想要改變屬性的排序等。

對於上述情況,是否有任何模式定義如何表示類?

目前我們的做法是檢查這些版本,但它失去控制,因此我正在尋找一種解決方案,它允許我們共享通用代碼並保持版本特定的代碼分離,以便我們可以維護它。並更改爲本地化的版本。

回答

1

我會將共享功能提取到另一個對象中,並讓它們在您的實際類中組成。

例如,如果類是A,那麼您將執行CommonA並使​​A_1包含CommonA的對象,並且A_2也包含CommonA的對象。此處A_1和A_2代表版本1和版本2.

A_1和A_2都公開相同的方法並在內部委派給共享類。

這樣,你是不是複製和您本地化內部的每個A_1的您的版本具體的東西,A_2等

+0

感謝您的詳細信息。我最終決定將版本特定的代碼委託給不同的類並處理加載面板 – Vijay 2011-06-13 21:35:31