其他分享
首页 > 其他分享> > 常见的三层架构

常见的三层架构

作者:互联网

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

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

含义:
三层架构主要是指将业务应用规划中的表示层 UI、数据访问层 DAL 以及业务逻辑层 BLL,其分层的 核心任务是“高内聚低耦合”的实现。在整个软件架构中,分层结构是常见和普通的软件结构框架,同 时也具有非常重要的地位和意义。这种三层架构可以在软件开发的过程中,划分技术人员和开发人员 的具体开发工作,重视核心业务系统的分析、设计以及开发,提高信息系统开发质量和开发效率,进 而为信息系统日后的更新与维护提供很大的方便。

三层架构分层方式
怎么样分层符合三层架构原则呢?主要有以下三种分层方式:
1、数据层不包含任何代码,只有数据库,还有相关的存储过程。这种模式下,数据层看起来就变得 很简单了。只包含所建立的数据库和一些存储过程(注意是存储过程)。其实这些存储过程的建立也 是相当复杂的,因为它们可以完成除数据访问外的其他一些很强大的功能,如分页、实现搜索算法 等。数据访问的逻辑就都放在业务层,当然业务层还包含其他一些逻辑代码。我们来看一个示例,假 设数据库里有一个表 BOOKS(书),建立一个存储过程 GetAllBooks,用来读取书的信息,这样在 业务层里编一个方法 GetBookS()和一个公用数据库访问类,GetBooks()就通过数据库访问类打 开连接,执行在存储过程,返回数据 (返回类型可以是 DataT - able,DataSet,DataReader 或 者 实 体 类)。业务层单独编译成一个或者几个 DLL 文件。接着就是表示层了,表示层通过调用 GetBookS()返回数据绑定在相关的控件里。业务层的方法都是在表示层调用。一般来说 book.aspx 和 book.aspx.cs 都是表示层的内容,所有前台的设计、相关控件、数据缓存都是属于表示层。
2、数据层还包含所有公共数据访问代码。这种模式和前一种差别不大,主要是把数据访问代码留到 数据层。这样可以很方便地实现对多数据库的支持。业务逻辑层直接调用数据层的相关访问数据的代 码,完全不必了解底层是什么数据库。其他和前一种没什么分别。
3、所有数据读取都放在数据层。这种模式下像前面所述的 GetBooks()方法都是放在数据层,在业 务层再定义一个GetBookS()方法以供表示层调用。这种模式下业务层不但不必了解底层是什么数 据库,而且连数据库的结构都不必了解了,这是最标准的三层架构了,在 Microsoft 的 PetShop 4.0 里就是这种模式

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

这种分层体系结构具有以下四个优点:
(1)避免了表示层直接访问数据访问层,表示层只和业务逻辑层有联系,提高了数据安全性。
(2)有利于系统的分散开发,每一个层可以由不同的人员来开发,只要遵循接口标准,利用相同的 对象模型实体类就可以了,这样就可以大大提高系统的开发速度。
(3)方便系统的移植,如果要把一个 C/S 的系统变成 B/S 系统,只要修改三层架构的表示层就可以 了,业务逻辑层和数据访问层几乎不用修改就可以轻松的把系统移植到网络上。
(4)项目结构更清楚,分工更明确,有利于后期的维护和升级。

标签:架构,表示层,数据库,常见,访问,三层,数据
来源: https://blog.csdn.net/weixin_50179685/article/details/120685320