2009-08-07 50 views
5

我正在研究一個靈活的GUI應用程序,它可以有〜12種不同的佈局。這些佈局都是明確定義的,不會改變。每個佈局由多個使用位模式與DLL接口的小部件組成。雖然大部分小部件都是相同的,但使用的位模式取決於所呈現的接口類型。XML與硬編碼界面?

我的直覺是使用繼承:定義一個通用的「面板」,並有不同配置的子類。但是,接口的一部分是用戶定義的,並且被指定在XML文件中指定。

整個面板應該以XML定義還是隻定義用戶配置的部分?

回答

10

YAGNI:根據當前需求設計您的屏幕,您明確聲明的屏幕不會改變。如果一年下來需要更多的定製,那麼可以定製更多的定製然後,而不是現在。

KISS:如果使用XML導致整體代碼較少且比子類更簡單,請使用XML。如果子類化導致代碼少,則使用子類化。經驗告訴我,子類化更簡單。

1

我的感覺是,你應該做任何事情,讓你有更大的靈活性來改變主意,增加新功能或調整佈局。

+5

危險的建議。以未來計劃,是的,但總是比較喜歡靈活性,可以創造一個沒有任何實際好處的維護夢魘。 – gimpf 2009-08-07 15:07:23