2009-01-28 101 views
4

當我說「配置」時,我的意思是保存那些經常改變的值(常量值如稅率或類似的東西),然後當你需要改變它們時,你不想重新編譯你的應用程序。如何動態配置應用程序?

在哪裏保存這些值?數據庫? XML文件?平面文件?

回答

1

我將INI文件用於潛在的用戶可配置文件,BIN文件用於保存運行之間會話狀態的數據。

但是,它非常依賴於您開發的應用程序類型。

0

這取決於你的應用程序是如何構建的。你可以設計你的應用程序,這樣你可以改變你的配置位置。通過注入提供者。

+0

你是對的問題是,當系統修改uis巨大,並有任何arquitecture設計 – Rulas 2009-01-28 19:59:12

3

這取決於這些更改的頻率以及更改它們的人或人數。對於某些特定於應用程序的設置,最好使用XML或配置文件,其中開發人員是負責更新它的人員。對於其他「商業」價值(如匯率,稅率等),最好將它們保存在數據庫中,併爲用戶(而非開發人員)提供更新的UI。

這也取決於有多少應用程序依賴於這個值,例如,如果幾個應用程序依賴於某些設置(例如電子郵件服務器地址),最好將它放在數據庫中,因爲它可以很容易地從任何應用程序正在運行的機器。

0

通常,如果數據是結構化的,我使用Ini文件或XML。

對於已經使用數據庫並且不想讓用戶輕鬆更改數據的應用程序,可以使用數據庫。

我幾乎從不使用二進制數據,除非您想爲用戶混淆數據。

0

不管應用程序,你可能會擁有配置數據的至少3個來源:

  1. 命令行標誌,通常提供引導您的運行時環境,例如,尋找配置文件,設置調試標誌,包含路徑,類路徑等
  2. 配置文件,可能不止一個可能會互相覆蓋。這些通常引導您的應用程序:連接字符串,緩存設置,特定於構建的設置等
  3. 控制數據庫中的數據。諸如時區,轉換率,穩定的顯示值等。這些數據還應該在數據庫中進行版本控制(如在「數據版本」字段中,而不是生活在版本控制系統中)。當您發現需要更改新版本的設置時,對其進行版本控制可以節省很多麻煩,但如果更改新版本,舊版本會中斷。

通常,任何在運行時更改的內容都應該放在數據庫中。任何敏感且很少改變的東西都應該放到配置文件中,任何黑客應該放在命令行上( - [no] enable-bug-287438-hack在你需要時可以非常方便)。