三层

来源:互联网 发布:嵌入式linux开发教程 编辑:程序博客网 时间:2024/06/10 00:15

三层是什么,有什么用

显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体层(Model)。以上三层是逻辑上的。


UI层的作用:向用户展现特定业务数据并采集用户的输入信息和操作
BLL层的作用:从DAL中获取数据,以供UI显示用、从UI中获取用户指令和数据,执行业务逻辑、
DAl层的作用:主要和数据源打交道,操作原始数据,例如从数据源加载数据(Select)、向数据源写入数据(Insert/Update)、从数据源删除数据(Delete)    
Model层的作用:封装数据,方便三层之间数据的传输,Model并不知道其它三层的存在,但是三层必须引用实体类


三层看似有些抽象,其实生活中处处很多地方都能体现,比如建桥,建桥的时候我们需要水泥砖,然后水泥砖需要各种灰和各种渣。

桥就相当于UI层,和用户直接相连;

水泥砖就相当于BLL层,通过对各种原始数据的组装,然后提供给UI层;

各种灰和各种渣就相当于DAL层,各种原始数据。


三层结构图:



为什么要用三层:

划分三层其实就是为了实现高内聚低耦合。对于复杂的系统,分层让结构清晰,便于开发人员对系统进行整体的理解、把握,而且便于维护。

三层用一个词来表达就是分工明确,责任到人。而分工明确其实在生活中是处处体现,尤其是在公司中。用建桥举例也一样,建桥的有专门的工程师,负责设计和建造;也有专门做水泥砖的;还有就是进购原材料的;他们分工明确,使得一个大的工程不至于太混乱。

                  

什么时候用三层:

如果业务复杂  数据存储到一个独立的存储介质,才需要用到三层了;

如果是中小型项目,业务逻辑简单,没有真正的数据存储层,不用三层会更简单。



三层如何联系:.

对于简单的逻辑(UI>BLL>UI): 

UI层提出请求,传给BLL层,BLL层一看可以处理,处理后直接返还给UI层

对于相对复杂的逻辑(UI>BLL>DAL>BLL>UI):

 UI层提出请求,并收集一定的用户数据传给BLL层,BLL层处理不了,需要访问数据源,转给DAL层,DAL层经过数据源访问加工,然后又转给BLL层,最后又返还给UI层



三层使用原则:

DAL只提供基本的数据访问
UI只负责显示和采集用户操作
BLL负责业务逻辑。

通过封装实现功能的独立,三层各负责各的职责,然后通过引用实现联系,但是不可以互相引用;

基本引用原则是:UI可以引用BLL,BLL可以引用DAL,DAL不可以引用UI和BLL,为了实现数据的共享,增加出Model类,用于封装数据


小结

在上边三层如何联系中,我们说了两种逻辑,对于第一种简单的逻辑,如果B层可以处理U层传来的信息,就不需要实体层来封装数据。对于第二种逻辑,如果,U层的信息传到B层,B层处理不了,然后需要访问数据源,并传到D层,并且需要封装数据,而封装的数据就在实体层中。另外三层都需要引用实体层,而实体层不需要知道三层的存在。


0 0