每當使用設置嚮導時,用戶都會回答很多不同的事情,直到真正的安裝啓動。將其與當前項目中的類進行比較:我有一個需要多個配置步驟的類。它不適用於安裝程序,但我認爲安裝程序嚮導是解釋所需更大配置功能的好方法。 我想找到一個好的設計解決方案。其中'設計模式'適用於具有複雜(多步)配置的類
我目前的解決方案處理辦法:
平:我可以定義與列爲方法/功能/性能的所有步驟,一個大班。在調用錯誤的方法時,可以添加幾個控制方法來拋出異常。它會做它的工作,但程序員會看到這麼多不同的方法會感到困惑。 ( - >他需要更多時間來了解它是如何工作的)
層次結構:我可以爲每個配置步驟創建約3個不同的類。每個人都有自己的方法和功能。最後,一個類需要在其構造函數中包含所有3個配置類的實例。這看起來不會太混亂,因爲只有正確的方法在每個類中都可見。然而,程序員可能會感到煩惱,一個小班需要如此複雜的準備工作,並創建3個其他班級。也許是嵌套類,但我認爲這也是一種糟糕的編碼風格。
我不知道是否有人已經有這樣的問題出現,可以通過回答這個..要麼提供一個合適的設計模式,或者這樣的問題的一些經驗/最佳實踐類結構。
我已經搜索了類似的問題,檢查了一些可能適合的設計模式,並且已經提供了2個方法思路來展示答案可以沿着什麼方向發展。如果您認爲答案不夠清楚,請評論/詢問有關缺失的部分。
問題是有可能涉及,根據您的具體要求是什麼設計模式的無限可能,確切的領域,我們不知道他們。你應該找到一個項目,在那裏有一個嚮導閱讀源代碼。它們通常涉及某種狀態模式。 – mpm 2013-04-07 15:55:22
如果一個類有很多事情要做,這表明已經有一些設計缺陷。你能詳細解釋一下這個複雜的引導過程嗎?因爲如果已經存在一些問題分離的問題,那麼您可能會發現沒有金錘可以將其轉化爲良好的設計。 – 2013-04-07 16:00:59
@mpm感謝您的解釋。我正在使用VB.Net/C#,而不是嚮導的功能,一個類應該很容易使用,但是這個類需要多個配置步驟。使用狀態模式,我可以爲相同的方法調用更改操作,但如果方法在每個步驟中更改,那麼我想我不能使用它。我在當前項目中定義了多個枚舉,然後選擇從數據庫訪問哪一個枚舉。方法應該提供結果字符串列表(索引相關)。在此之後,'配置'完成,並且該類應該充當索引查找表 – Amegon 2013-04-07 16:07:31