我有一个带有控制台表示层的 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"];
但我真的想在我的业务逻辑中这样做吗?