簡體   English   中英

如何動態配置應用程序?

[英]How to dynamically configure an application?

當我說“配置”時,我的意思是保存那些可能經常更改的值(常量值,如稅率或類似值),然后當您需要更改它們時,您不想重新編譯您的應用程序。

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

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

它還取決於有多少應用程序依賴於此值,例如,如果多個應用程序依賴於某些設置(例如電子郵件服務器地址),最好將其放在數據庫中,因為它可以從任何機器上輕松訪問應用正在運行。

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

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

這取決於您的應用程序是如何構建的。 您可以設計應用程序,以便更改配置的位置。 只需注入提供者。

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

對於已經使用數據庫並且您不希望用戶輕松更改數據的應用程序,您可以使用該數據庫。

除非您想為用戶模糊數據,否則我幾乎從不使用二進制數據。

無論應用程序如何,您可能至少會擁有3個配置數據源:

  1. 命令行標志,通常用於引導運行時環境,例如,查找配置文件,設置調試標志,包括路徑,類路徑等
  2. 配置文件,可能不止一個可能互相覆蓋的文件。 這些通常會引導您的應用程序:連接字符串,緩存設置,特定於構建的設置等
  3. 控制數據庫中的數據。 時區,轉換率,穩定顯示值等等。此數據也應在數據庫中進行版本控制(如“數據版本”字段,不在版本控制系統中)。 當您發現需要更改新版本的設置時,對它進行版本控制會省去很多麻煩,但如果您更改它,舊版本將會中斷。

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

我更喜歡簡單的ini文件。 這是一個您可能覺得有用的Setting示例。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM