我有一個C#應用程序,包含一個產品核心和每個客戶項目的不同特例。 我需要一種方法來處理和管理全局常量(在一箇中心點一切),並用以下解決方案上來:在不同的項目中管理常量
在項目的「核心」:
public abstract class Config
{
//Core values, which are always needed
public const string Value1 = "abc";
...
}
在具體項目「SpecialProject1」 (引用核心):
public abstract class SpecialConfig : Config
{
//additional extra values for this special case
public const string Value2 = "xyz";
...
}
這樣我可以從我的核心配置類繼承,避免有人無意中創建我的配置類的一個實例(他們沒有狀態,只是固定值)。
有沒有更好的方法來做到這一點?在這種情況下使用「抽象」有沒有問題?
您是否需要防止人們意外地創建配置類的實例?如果他們做了什麼會造成什麼危害?就個人而言,我總是希望不用編譯代碼中的配置設置,以避免爲了更改配置設置而進行新的構建。有一個加載XML配置文件或從數據庫加載的類。那麼你只需要爲每個客戶提供一個標識符,以便讓你獲得正確的配置。 – Chris
我不會做任何大傷害,但是沒有必要創建一個實例。大部分配置值都來自xml文件,但有些東西只是......好吧,常量。 – HectorLector