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

岚匀
  • 6

考虑到多窗体要来回传值,有将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语言中的全局变量。

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

回复
阅读 3.3k
1 个回答

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

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏