2012-09-21 43 views
2

我有一些常數,我想在應用程序級別,如存儲過程名稱,用戶消息和其他。我很少有機會改變這些資源。資源字典與.cs文件

請讓我知道在我們的應用程序中保持常量的良好做法。

資源字典優於.cs文件。

問候 AA

回答

3

對於初學者來說,你是在正確的軌道想着這些東西都在。魔術字符串和其他魔法值有很多原因。

這裏有一些指導我們使用:

  1. 常量,只允許東西都是現實世界的常數。如果您需要使用「我的優惠券位於{0}」作爲格式字符串,則可以使用RESOURCE。
  2. 事情可能會改變,EVER,不是常數。你有幾個選擇這個東西。
  3. 如果它不是你的邏輯的一部分,它不會在源代碼中。它位於以下某個外部位置,並在源代碼中被引用,以便您不必重新編譯即可進行更改。

我們一般每個程序集有三個文件,根據需要: 首先是一個常量文件。這通常與Constants.cs一樣簡單。把你的常量(AND只讀靜態編譯時不變,永不改變)在這個文件中。你也可以包含可配置的東西,但必須有一個默認值。

internal class Constants 
{ 
    public const LogLevel DEFAULT_LOG_LEVEL = LogLevel.Error; 

    public static readonly string APP_NAME = Configuration.ApplicationName ?? "Test Application"; 
} 

其次,讀取配置值並將其作爲靜態值返回的文件。這通常是Configuration.cs並負責返回所有配置值。這使您不必重新編譯來更改連接字符串,處理設置或其他內容。實際值位於.ini文件,web.config或app.config,數據庫表或源代碼之外的其他位置。如果下面的例子你可以在整個代碼中對ConfigurationManager.AppSettings [「ApplicationName」]進行細化,但是如果你想更改該appsetting的密鑰呢?你必須找到一個重命名所有對它的引用。只需花費額外的30秒來完成像這樣的操作,以及所有的Configuration.ApplicationName。

internal class Configuration 
{ 
    public static string ApplicationName 
    { 
     get 
     { 
      return ConfigurationManager.AppSettings["ApplicationName"]; 
     } 
    } 
} 

最後,一個或多個資源文件。這是我們把圖標,圖像,不尋常的字體,用於顯示目的的本地化(或只是可變化)字符串等東西的地方...

有沒有具體的方法做這個東西,但我認爲上述將給你一個開始的地方。