C#重构——七层登录

什么是七层呢?

其实就是建立三层(UI、BLL、DAL)上的。在UI和BLL之间使用外观模式,加入外观层(Facade)来解耦。在BLL层和DAL层之间加一个接口层(IDAL)来解耦。在BLL层和DAL层加入一个工厂层(Factory)来进行出创建对应的接口。还有一个层就是实体层(Entity)。

各个层的作用

UI:收集用户传输的数据,通过外观层传给BLL进行处理。

Facade:解耦U层和B层,两者之间通过外观层的接口进行连接。

BLL:接受Facade层传来的数据进行逻辑判断,并且通过工厂层创建相应的接口。

Factory:创建相对应的接口。并且通过反射来识别。反射的详细用法

IDAL:定义一个统一的接口。接触B层和D层的耦合

DAL:实现接口,与数据库交互。

Entity:定义在各个层使用的数据。

错误集结

1、找不到元数据
在这里插入图片描述
原因:各个层之间没有项目依赖关系。还有就是因为,一开始建立除U层以外的层的时候没有选类库。选的是控制台应用

解决方法:将UI层的输出类型改为:Windows应用程序,其他层的输出类型改为类库。

步骤:点击该层——使用Alt+Enter快捷键打开属性,修改即可。详细如图:

在这里插入图片描述
2、不包含适合于入口点的静态“Main”方法
在这里插入图片描述
原因:程序启动需要Main方法,其他层都已经改成类库了,UI层需要Main方法,但是不小心把UI层的Program.cs文件删除了,所以没有静态“Main”方法。

解决方法:在UI层添加一个Program.cs文件即可

3、未能加载加载文件或程序集“DAL”或它的某个依赖项。系统找不到指定文件。
在这里插入图片描述
解决方法详情

这里涉及到一个知识点:什么是dll文件。

动态链接库文件,存放各类程序的函数实现过程,当程序调用函数的时候先载入Dll,然后获取函数的地址,最后进行调用。使用dll好处,就是程序不需要在运行之初加载所有代码,只有在程序需要某个函数的时候才从dll中取出。所以程序走的不是代码,而且由代码所生成的dll文件

发布了110 篇原创文章 · 获赞 21 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/make_1998/article/details/91350307