你好,是我琉忆。

今天我们讲一讲三层架构

1、三层架构的介绍

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

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

在ASP.NET的站点设计开发中,通常采用三层架构的设计网站,它们的特点为:

(1)数据访问层:主要用于实现对数据库的访问和操作。

(2)业务逻辑层:主要包含业务逻辑代码,它作为表现层和数据访问层之间的通讯桥梁,负责数据的传递和处理。即编写对网站功能逻辑实现的部分,叫业务逻辑层;

(3)表现层:用于显示数据和接收用户输入的数据,为用户提供可以交互的操作界面及表现逻辑。即用户所看到的界面,视图部分,就叫做表现层。

三层架构间数据通信关系如下图:

【看到这里,如果你还没有关注我,可以点个关注,下次更新精彩博文我通知你】

2、三层架构的优势

三层架构就是对一个功能模块分层设计,每一层只负责一件事。采用分层设计可避免模块间相同功能的重复编写,达到减少模块间的耦合性、提高独立性的系统设计要求。

在项目中使用三层架构的优势有:

(1)适于变化,利于维护。项目需求经常会发生变化,三层架构将功能模块分离,提高了项目的可维护性和代码的可重用性。项目结构更清楚,分工更明确,有利于后期的维护和升级。

(2)适用于协作开发。目前,多数项目是团队多人协作开发的,有的负责界面设计,有的负责数据库操作模块,三层架构将各个功能模块分离,各自负责各层的模块,有利于协作开发。

(3)主流趋势。在企业级的开发中,三层架构是基本要求,大多数项目都会采用三层架构。

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

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

3、我写的书开始预售了!

最近正在写一本《ASP.NET Web动态网站》开发的书,预计2月底写完,敬请期待~

预售网址:【村长编写】14天零基础到入门搞定ASP.NET Web网页开发【书籍】预售http://www.71muke.com/course/info/99更多编程知识获取关注公众号:琉忆编程库

你知道什么是三层架构吗?相关推荐

  1. 一个简单实用的,基于EF的三层架构

    到底什么样的框架才是好框架呢?或许不同人有不同的看法.我个人觉一个好的框架,最重要的要是简单实用,能快速适开发,可维护性高(不会出现复制黏贴的代码),并能快速响应各种业务场景的变化的框架,同时性能不会 ...

  2. 亮剑.NET的系列文章之.NET实现三层架构(三)

        最近一直在学习三层架构,前些天同样也写了一篇同样的博客,今天主要是通过一个登录的实例给大家讲解每部分的作用和相应代码的实现.     先将实现三层架构的UML图给大家,帮助大家更好的理解三层. ...

  3. .NET应用三层架构分析

    2019独角兽企业重金招聘Python工程师标准>>> 近来在做一个.NET的项目,使用C#进行开发.项目采用常用的三层架构,稍微调查了一下,发现所接触到的.NET的项目基本都是采用 ...

  4. 关于MVC与三层架构、个人总结网上杂七杂八得出的最终成果、asp.net (core) MVC、JavaWeb的MVC

    阅读本文必须明白的事情 首先需要明白的是不同语言实现的MVC与三层架构对应的层是不一样的!!! 拿.net来说,.net实现MVC与其他语言的MVC具体实现是不同的,asp.net MVC与 MVC ...

  5. 使用三层架构实现简单的MVC登陆操作!并实现基本的增删改查功能!!

    一丶使用三层架构创建一个简单的MVC登录操作 1.首先,创建一个项目以及BLL层.DAL层.Entity层,如图一: 图一 2.创建一个数据库如图二: 图二 3基本工作已做好,接下来就编BLL层.DA ...

  6. 什么是三层架构?简单的介绍三层架构!

    三层架构(3-tierarchitecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer).业务逻辑层(Business Logic Layer). ...

  7. [三层架构+WCF]三层架构+WCF实现TaskVision

    前面的一篇博文DebugLZQ使用三层架构实现了TaskVision,并在后面利用Webservice代替ClassLibrary实现SQL Server 2008数据库操作提供程序.关于三层架构的理 ...

  8. 趣味理解:三层架构与养猪—《.NET深入体验与实战精要》

    为了更好地让初学者轻松入门,这里仍然采用趣味性的方式聊一些常用技术点,致力于.NET新手们的快速提高!知识都是普通的,关键是学习的思路.技术源于生活,技术原来可以这样学.抛砖引玉而已.  层次结构在现 ...

  9. 解析三层架构(1)---为什么要分层?

    随着分层设计的进行,对分层逐渐有了更深的了解.准备利用几篇文章,深度的分析一下分层设计. 我这里的题目之所以叫三层架构,不一定代表着系统就是三层.古语中三为多.这里的三层也可能是 四层,五层 或者更多 ...

  10. 三层架构,Struts2,SpringMVC实现原理图

    三层架构,Struts2,SpringMVC实现原理图 三层架构实现原理 Struts2实现原理 SpringMVC实现原理 转载于:https://www.cnblogs.com/xdzy/p/99 ...

最新文章

  1. 机器学习(17)无监督学习 -- K-means算法与性能评估
  2. 前端每日实战:45# 视频演示如何用纯 CSS 创作一个菱形 loader 动画
  3. 7句话让Codex给我做了个小游戏,还是极简版塞尔达,一玩简直停不下来
  4. R语言将dataframe宽表转化为长表实战:使用data.table、使用tidyr包gather函数、使用reshape2包
  5. jquery and jquery validation 常见问题解决
  6. Cocoa touch(六):UIViewController
  7. eclipse官网下载详细指南
  8. OpenCV视差图后过滤
  9. 我要学ASP.NET MVC 3.0(八): MVC 3.0 传递和保存你的Model
  10. pandasStudyNoteBook
  11. 怎么改变asp.net中.sln文件的默认生成路径
  12. java代码转置sql数据_SQL Server中的数据科学:数据分析和转换–使用SQL透视和转置
  13. C、C++ 不得宠,微软正开发新的编程语言!
  14. 数据库路由中间件MyCat - 使用篇(1)
  15. 详细解析RxAndroid的使用方式
  16. c语言编写的操作系统不会用到类,因为当时c++还没出现
  17. 23. 客户默认选项(Default Customer Options)
  18. 证券业大数据与人工智能发展现状与应用趋势
  19. python与乐高ev3结合_乐高Ev3嵌入式系统(Python)的图像识别
  20. python入门之一运算符和表达式第二关:华氏度转摄氏度和进制转换

热门文章

  1. GameFramework框架——使用过程中遇到的问题
  2. YOLOv5+BiSeNet——同时进行目标检测和语义分割
  3. pyqt5 制作壁纸切换工具实例 第二章
  4. android与mysql连接不上去_安卓连接不上mysql怎么办
  5. Java 移位运算符 >>、<< 、>>是怎样进行运算的?
  6. Proxifier使用教程
  7. 喜马拉雅xm文件转换为mp3?
  8. Docker安全工具Clair/Anchore/DockerScan对比测试
  9. 小米电脑重装系统后亮度无法调节的解决办法
  10. OpenCV学习心得:Scalar()的几种使用方法