三层,在vb.net视频中就听到了这个概念,有了那么一个模糊的认识。之后又跟着三层视频敲了一个例子,大概明白了三层是怎么回事。
三层就是把代码从逻辑上进行分层,分为表现层UI,逻辑层BLL、数据层DAL。
分层的思想其实生活中很多地方都用到了。管理中如此,比如一个学校,教职员工众多,要想分工合作,利于信息传递,便于管理,就要分层(大院级、二级院级)、分块儿(并列的各个系、专业),横向纵向地把一个个的个体分成一个个的团体(比如一个个的办公室)。这样管理起来就容易得多。
大家说的最多的例子就是餐饮业的一个模型,采购员对应数据访问层,厨师对应业务逻辑层,服务员对应表示层。服务员把顾客需要的菜单递给厨师,厨师根据菜单判断用哪些原材料,然后从采购员买来原材料里取用,厨师把原材料进行加工做成一道道菜肴,服务员把做好的菜肴取走给顾客。
表示层中把采集的用户输入的数据或请求,传给业务逻辑层进行逻辑处理,逻辑层处理中需要用到数据库里的数据或者需要把数据存储到数据库就要访问数据层,连接数据库。连接之后读取数据,返回逻辑层进行处理,处理的结果返回表现层反馈给用户。
视频中讲的登录例子的三层的关系如图所示:
UI依赖BLL,BLL依赖DAL,UI、BLL、DAL三者都依赖Model(图中Module修正为Model)。依赖也就是调用关系,在C#代码里体现就是添加引用,比如UI层引用BLL层。而数据的传递关系则是在相邻的两层之间传递,传递一般以参数方式传递。
理解原理还不够,还需要实战,用代码把原理体现出来。