【C#机房重构】三层TO七层

来源:互联网 发布:小阴唇肥大 知乎 编辑:程序博客网 时间:2024/06/05 05:05

前一段时间学习了三层,并用三层实现了登陆。如今打算在三层的基础上了解一下七层,再实现个登陆。现先把七层基础知识总结如下。

说七层前先温习一下三层:


从三层包图中可以看出,三层包括如下三个层次:

UI层(用户界面层)、BLL层(业务逻辑层)、DAL层(数据访问层)。

你一定还发现了“Entity”,这是实体层,他的作用是在三层之间传递数据,相当于个“货梯”。

 

基本流程是:

1UI层接受用户输入的数据,比如登录名和密码等,传输给实体层。

2DAL层依据实体层运来的数据在数据库中进行查找(通过sql语句),然后返回结果

3BLL层接受来自UI的数据和DAL的返回结果,对其们进行处理,然后把结果返送到UI层。

再来认识一下七层:



七层是在三层的基础上又增加了3层。增加的是哪三层?其作用是什么?

Facade(外观层):负责整合B层的方法,为一些有共性的方法提供统一的接口,以供UI层调用。——用到了外观模式

IDAL(接口层):定义一个判断账户是否存在的方法,B层和工厂都会直接调用接口,D层实现接口。这样分工明确,可以大大降低B层和D层的耦合度。

Factory(抽象工厂):工厂来创建接口,返回接口,用到了抽象工厂+反射+配置文件,作用是灵活的实现数据库的连接,方便换数据库,进一步解耦合。【反射:传入所需类的字符串,然后返回这个类的实例】

具体是把DAL层中的类转换成为IDAL层中的接口,从而使BLL层实现通过调用IDAL从而调用DAL层。


下面小编再来说一下sqlHelper和Entity层。

SQLHelper层:连接数据库,对数据库进行增删改查。一般都把它放在D层。

Entity层:存放全局的实体类,方便各个层之间的参数调用。数据库中每个表都对应一个实体类,表的字段就是实体的属性。


小结:

感觉都是一些表层的东西,真正的体会还需接下来的实践。

一直觉得看视频学习时,先了解个大概脉络,然后稍微跟着操作就行了,所以进度可以快些。到真正用时就需要仔细,认真,多查些东西,多接触些东西,正好也巩固一下所学知识。所以这一阶段会进行的比较慢。只要自己有兴趣就行,多探索,加油。

以上是我在网上或博客中了解到的,如有错误,还需读者指出。