浅谈三层架构

来源:互联网 发布:linux vps speedtest 编辑:程序博客网 时间:2024/05/29 03:16
三层用最通俗的语言来说:

表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)

1.表现层(UI:User Interface)层的职责是数据的展现和采集,数据采集的结果通常以Entity object提交给BL层处理。

2业务逻辑层(BLL:Business Logic layer)层的职责是按预定的业务逻辑处理UI层提交的请求。

3 数据访问层(Resource Access layer):有时候也称为是持久层,其功能主要是负责数据库的访问。简单的说法就是实现对数据表的Select,Insert,Update,Delete的操作。
当然既然三层既然是这样分的我觉得他应该有他们自己的作用,我进过了一些理解以后我觉得他们相应的作用分别该是这样的:
三层是一个从D层到B层然后再到U层的设计结构:举个例子:
 你去超市买蛋糕(u)蛋糕的组成面粉鸡蛋(B),而面粉鸡蛋又是从面粉厂和鸡场(D)得到的,他是自下而上的两层之间知道上一层的存在,也就是说我去超市买蛋糕的时候,不用知道蛋糕是由什么东西组成的也不用知道鸡蛋和面粉是怎么得到的,反过来就很自然的知道他得上一层是什么东西
了,这是一个简单的三层的结构:如图所示:
但是三层里面也不是这么简单的,在他的里面也可以加一些设计模式从而是这个三层的结构更加人性化,易于理解化。如图:
                                        
只就在数据访问层的界面增加了接口,和工厂,等设计的模式。
优点:
我们用三层结构主要是使项目结构更清楚,分工更明确,有利于后期的维护和升级。
结构清晰、耦合度低、便于系统的扩展、利于开发任务同步进行、降低了一定的性能。
缺点:开发模式的一个非常明显的缺点就是其执行速度不够快。因为当子程序模块未执行结束时,主程序模块只能处于等待状态。当然这个“执行速度”是相对于非分层的应用程序来说的,多了一个中间层,当然不如直接的去访问数据库的数据来的快这也是很好理解的。
我自己的理解
D层的目的就是数据库的链接和数据的获得。B层的作用就是将得到的数据进行逻辑上面的加工,它是逻辑判断层,主要是对页面上传入的数据进行逻辑的判断。u层就是为客户提供数据的访问。
最后还有一句话送给大家:三层结构不是.NET的专利,也不是专门用在数据库上的技术。它是一种更加普适的架构设计理念。