三层架构初步理解

Posted 一不小心上天了

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了三层架构初步理解相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

什么是三层架构:通常意义上的三层架构就是显示层(UI),业务逻辑层(BLL),数据访问层(DAL)。

UI:显示层,用来采集用户用户输入输入的信息和操作,并向用户展现特定的业务数据,在UI层中常用的技术有Windows form:form,control、ASP.NET:aspx,master,html。通俗的说就是主要指人机交互的界面,用于接收用户输入的数据和显示处理后用户需要的数据。

BLL:业务逻辑层,该层负责从UI中获取用户指令和数据,执行业务逻辑,并通过DAL写入数据源,还可以从DAL中获取数据,将结果返回给UI。换句话说就是连接UI和DAL之间的桥梁。

DAL:数据访问层,用来从数据源加载数据,也就是查找数据,数据源包括数据库、XML文件、文本文件等;向数据源写入数据或删除数据。简单的总结一下 就是数据库中的增删改查(实现数据的增删改查)

(物理层和逻辑层:逻辑层是把层按类的集合来划分,而这些层都在同一台服务器上,我们现在将要重构的机房中的三层就都在自己的电脑上。而物理层是指类的集合在不同的服务器上,用附加的代码来处理层间的通信)

实体类(Model):不属于三层范畴,是将需要的字段名从数据库中放入其中,好处是提高了安全性。比如一个表单,在对数据进行操作的时候需要用到数据库的数据表的字段名,但是这样容易导致我们自己数据表的字段名外泄,于是这个时候我们就可以使用到Model了,这个时候就可以使用到字段映射。除此之外,Model的作用也就是存储数据。

各个层各司其职,只负责自己专属的功能,提高了内聚性,减少了彼此之间的耦合性。Model是传输数据的业务数据模型,不是数据库中的数据,Model是避免出现数据交替而建立的。

 三层架构的优缺点:

优点:开发人员可以只关注整个结构中的其中某一层

可以降低层与层之间的依赖

有利于标准化,可以很容易的用新的实现来替换原有层次的实现

在后期维护的时候,极大地降低了维护成本和维护时间

缺点:1.降低了系统的性能,这是不言而喻的。如果不采用分层式结构,很多业务可以直接造访数据库,以此获取相应的数据,如今却必须通过中间层来完成

2.有时会导致级联的修改。这种修改尤其体现在自上而下的方向,如果在表示层中需要增加一个功能,为保证其设计符合分层式结构,可能需要在相应的业务逻辑层和数据访问层中都增加相应的代码

3.增加了开发成本

以上是关于三层架构初步理解的主要内容,如果未能解决你的问题,请参考以下文章

深入探讨:如何理解.Net的三层架构

三层架构的理解

三层架构的一点理解以及Dapper一对多查询

ASP.NET三层架构DAL层连接数据库的方法

三层架构(我的理解及详细分析)

三层架构(我的理解及详细分析)