C#,winform程序采用Model,DAL,BLL三层架构时。Model层的类可以定义为静态类么?

考虑到多窗体要来回传值,有将Model类定义成静态类的想法

/// <summary>
/// 对应“工程信息”窗体上的数据
/// </summary>
public static class ProjectInfo
{
    public static int Pro_Id { get; set; }//工程Id
    public static string Pro_Name { get; set; }// 工程名称
    //。。。以下属性值省略
}

这样一来,将来Model类就不用多窗体之间来回传递了,在任意一个窗体都可以获取到Model的值,像是C语言中的全局变量。

这样做符合三层架构的规则么?

阅读 6.5k
1 个回答

将Model类设置成全局静态的方式是不好的。任何一个位置都可以无限制地修改这个model类的内容,做成静态被称为common compuling 即公共耦合。

提高了model层和其他各层的耦合度,不利于代码的调试

宣传栏