小编首先来给大家介绍一下,什么是三层架构:三层架构就是为了符合“高内聚,低耦合”思想,把各个功能模块划分为表示层(UI)、业务逻辑层(BLL)和数据访问层(DAL)三层架构,各层之间采用接口相互访问,并通过对象模型的实体类(Model)作为数据传递的载体,不同的对象模型的实体类一般对应于数据库的不同表,实体类的属性与数据库表的字段名一致。

三层架构区分层次的目的是为了“高内聚,低耦合”。开发人员分工更明确,将精力更专注于应用系统核心业务逻辑的分析、设计和开发,加快项目的进度,提高了开发效率,有利于项目的更新和维护工作。

一、 界面层(UI)

界面层提供给用户一个视觉上的界面,通过界面层,用户输入数据、获取数据。界面层同时也提供一定的安全性,确保用户不用看到不必要的机密信息。

二、 逻辑层(BLL)

逻辑层是界面层和数据层的桥梁,它响应界面层的用户请求,执行任务并从数据层抓取数据,并将必要的数据传送给界面层。

三、 数据层(DAL)

数据层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据。这一层通常由大型的数据库服务器实现,如Oracle 、Sybase、MS SQl Server等

三层架构的体系结构:表示层和业务逻辑层之间用对象模型的实体类对象来传递数据,业务逻辑层和数据访问层之间用对象模型的实体类对象来传递数据,数据访问层通过.NET 提供的ADO.NET组件来操作数据库,或者利用SQLServer数据库服务器的存储过程来完成数据操作,这种分层体系结构具有以下四个优点:

(1)避免了表示层直接访问数据访问层,表示层只和业务逻辑层有联系,提高了数据安全性。

(2)有利于系统的分散开发,每一个层可以由不同的人员来开发,只要遵循接口标准,利用相同的对象模型实体类就可以了,这样就可以大大提高系统的开发速度。

(3)方便系统的移植,如果要把一个 C/S 的系统变成 B/S 系统,只要修改三层架构的表示层就可以了,业务逻辑层和数据访问层几乎不用修改就可以轻松的把系统移植到网络上。

(4)项目结构更清楚,分工更明确,有利于后期的维护和升级

缺点:

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

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

(3)增加了代码量,增加了工作量

下面来搭建一个简单的三层架构登录页面,我使用的是Visual Studio 2019搭建。注:VS2017、VS2015和VS2010差不多没太大改变。