我需要創建並顯示多個選擇對話框。這些是帶有3個或更多按鈕的對話框,例如「複製/移動/鏈接」或「替換/覆蓋/忽略」等。設計選擇:多選擇對話框?
我堅持了三個競爭實現的想法,他們都不似乎不夠好:
- 創建對話框每個問題,並把結果返回爲一個枚舉,
- 創建動態對話框,使用字符串變量,將它們轉換爲使用字符串作爲標籤的按鈕,並返回選定的字符串作爲結果。
- 創建一個對話框,其中包含一個DialogChoice變量,一個接口,我將使用該標籤的getText()方法創建一個接口,並在選擇DialogChoice時調用一個act()方法。
第一個顯然會產生冗餘代碼,但第二個的返回類型很髒。第三種似乎是迄今爲止最好的,但它看起來像某種僞裝的功能代碼,我不確定這是否是健康的面向對象方式。
那麼,有沒有另一種解決方案,我省略了,我是否徹底重塑了車輪,還是這三個想法中最好的一個?
編輯:我正在使用JavaFx,因此沒有可以重用的內置機制,但更多的是可以適應多種框架甚至多種語言的一般問題。我只包含了Java標籤,以免人們將「enum」和「interface」關鍵字混淆。
+1。爲什麼人們認爲混合動作和數據是「不OOP」總是讓我感到驚訝。 – user949300 2012-08-03 16:26:10