什么是七层呢?
其实就是建立三层(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文件