2012-02-22 125 views
1

我有一個已經寫了多年的C++應用程序。有很多課程。配置應用程序體系結構

每次我們想要改變一些參數值時,我們需要在代碼中手動更新它們並重新編譯它們。隨着用戶不斷增長的需求,這並不方便。我們希望在應用程序的一側配置類的值。大概,閱讀一個XML是最好的?對於每個用戶,我們可以進行xml配置設置並將其與應用程序一起發送。這是一個好方法嗎?

對於每個類例如Class classA,我們是否應該創建另一個名爲ConfigClassA的類,然後classA將使用ConfigClassA中的配置設置?我們不想在當前的實施中做出很多改變。

假設有一個XML文件的結構:

<classes> 
    <class name="ClassA"> 
     <variable id="isUp" value="true" /> 
    </class> 
</classes> 

在XML中,我們可以得到部分ClassA和其解析到ConfigClassA然後CLASSA具有ConfigClass的一個實例。

或者任何人有更好的方法?

在此先感謝。

+0

不知道你的目標平臺和這個「班級」代表什麼,真的很難給你一個準確的建議。 – ereOn 2012-02-22 13:25:08

+0

它是Windows平臺,應用程序是用Visual Studio 2010的C++編寫的。它是一個面向對象的風格,所以我參考:類 – olidev 2012-02-22 13:54:56

回答

1

一般情況下,我認爲應用程序啓動時應該加載整個配置,以便在配置無效時立即通知用戶。爲了驗證XML文件,您可以使用XML Schema

但是,如果您不想在當前實現中進行很多更改,您的想法可能是一個有效的解決方案。

1

使用JSON或YAML將比XML更輕量級,因爲配置文件的解析器會更簡單。無論如何,XML也是可行的。

+2

不是說答案是錯誤的,但我相信OP更關心全局代碼設計關於用於存儲/讀取配置值的有效技術。 – ereOn 2012-02-22 13:26:33

1

配置文件實際上很常見。它們的存儲格式並不重要。它們通常只在程序開始時加載一次,每次方法請求時都不會查詢。另外,您應該製作一個可用於編輯這些文件的工具(例如「首選項...」面板)。