我有一個3層應用程序設置,就像控制檯表示層一樣。在我的商業邏輯中,我有一個類,我聲明瞭一些固定的不同變量,即值不會改變。這些變量的值取自應用程序設置。在三層控制檯應用程序中使用常量或全局變量
現在我發現的問題是我的類調用了不同的方法,其中這些變量是通過方法簽名傳遞的。這是好的做法嗎?如果不是,用常量代替它會更好嗎?如果是這樣,常量應該在哪裏生存,以便我可以在需要它們的地方訪問它們而不是傳遞變量?
編輯
添加一些代碼爲你們。所以他們是我在這裏提到的全局變量。
行,所以在我的控制檯應用程序(演示),我現在有這樣的事情:
public class Program
{
public static void Main(string[] args)
{
MainClass myClass = new MainClass(appSetting1, appSetting2, appSetting3);
}
}
然後在MainClass我:
public class MainClass
{
private string _appSetting1 = string.Empty;
private string _appSetting2 = string.Empty;
private string _appSetting3 = string.Empty;
public MainClass(string appSetting1, string appSetting2, string appSetting3)
{
_appSetting1 = appSetting1;
_appSetting2 = appSetting2;
_appSetting3 = appSetting3;
}
public void MyMethod()
{
Method2(_appSetting1, _appSetting2);
Method3(_appSetting2, _appSetting3);
Method4(_appSetting1, _appSetting3);
}
}
我希望你能明白我的意思。我發現自己在多個方法中傳遞全局變量。我只是覺得這樣做會更容易一些嗎?如創建一個常量類或類似的東西?我並不是100%確定最好的方法。
在我MainClass我可以宣佈我的全局變量是這樣的:
private string _appSetting1 = ConfigurationManager.AppSettings["appsetting1"];
private string _appSetting2 = ConfigurationManager.AppSettings["appsetting2"];
private string _appSetting3 = ConfigurationManager.AppSettings["appsetting3"];
但我真的想要做的是,在我的商業邏輯?
顯示一些相關的代碼。否則,這都是猜測。我的意思是數據和它使用的方法。 –
請給我們一些代碼請 –
你是什麼意思?將變量作爲參數傳遞是否是「良好實踐」?如果這是一個全球性的常數,不要爲此煩惱。將它們定義在一個單獨的類「常量」中,然後通過調用它們來獲取它們的值。 – tnw