现在的位置: 首页 > 综合 > 正文

三层的初入认识

2013年02月28日 ⁄ 综合 ⁄ 共 1144字 ⁄ 字号 评论关闭

 

三层:将一个业务分为:表现层(UI),业务逻辑层(BLL),数据访问层(DAL).分层的目的是为了高内聚 低耦合的思想.

 

各层

表现层User
Interface
):通俗的讲就是展现给用户的界面,即用户在使用一个系统时的所见所得.

业务逻辑层(Business Logic Layer):对于具体的问题的操作,也可以理解层对数据层的操作,是对数据业务逻辑处理。

如果逻辑层相对完善,那么表现层如何修改也不会对逻辑层产生重大影响。

数据访问层Data Access Layer):直接对操作数据库,针对数据的增删改查。对数据库或者文本文件等存放数据的形式的操作也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数据服务。


 区分方法

数据访问层:主要看你的数据层里面有没有包含逻辑处理,实际上他的各个函数主要完成各个对数据文件的操作。而不必管其他操作。

业务逻辑层:主要负责对数据层的操作。也就是说把一些数据层的操作进行组合。

表示层:主要对用户的请求接受,以及数据的返回,为客户端提供应用程序的访问。位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

 规则

   ⒈ 最关键的,UI层只能作为一个外壳,不能包含任何BizLogic的处理过程

   ⒉ 设计时应该从BLL出发,而不是UI出发.BLL层在API上应该实现所有BizLogic,以面向对象的方式

   ⒊ 不管数据层是一个简单的SqlHelper也好,还是带有Mapping过的Classes也好,应该在一定的抽象程度上做到系统无关

理解:

首先说下自己对三层的理解,就是使用三个(多个)项目结合起来开发出一个应用系统。下层项目为上层项目提供了接口(说白了就是可以从上层类访问下层类的方法),并且将结果返回到上层。即:上层包向下层包传递参数,上层包调用下层包的方法,下层包向上层包传回返回值。

UI层和BLL打交道,不用处理SQL语句;开发更方便,更不容易出错。一般,UI层中没有复杂的代码,解耦合,容易改变UI层技术。数据库的改变,如果由Sql Server改成Oracle,只需修改DAL即可,简单完成不同数据库之间的转换。

 

实体类在各层中的作用?

这里还要提醒的一点:Model是在三层之间传递数据的。而且Model不属于三层中任意一层。

那么各层之间使用Model(实体类的作用是什么呢??)

 表示层中使用实体类:

将解析实体对象中封装的数据展示给用户

将用户请求的数据封装到实体对象中

 业务逻辑层中使用实体类

将接收到的实体对象传递到下一层

根据用户请求对实体对象中的数据进行处理。

 在数据访问层中使用实体类

将数据库中的数据封装到实体对象中或将多个实体对象封装成集合

将实体对象中的数据保存到数据库中

 

【上篇】
【下篇】

抱歉!评论已关闭.