知识大全 如何理解.Net的三层架构

Posted

篇首语:青春是有限的,智慧是无穷的,趁短的青春,去学习无穷的智慧。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何理解.Net的三层架构相关的知识,希望对你有一定的参考价值。

深入探讨:如何理解.Net的三层架构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  各层的作用

   数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层 而不是指原始数据 也就是说 是对数据的操作 而不是数据库 具体为业务逻辑层或表示层提供数据服务.

   业务逻辑层:主要是针对具体的问题的操作 也可以理解成对数据层的操作 对数据业务逻辑处理 如果说数据层是积木 那逻辑层就是对这些积木的搭建

   表示层:主要表示WEB方式 也可以表示成WINFORM方式 WEB方式也可以表现成:aspx 如果逻辑层相当强大和完善 无论表现层如何定义和更改 逻辑层都能完善地提供服务

  具体的区分方法

   数据数据访问层:主要看你的数据层里面有没有包含逻辑处理 实际上他的各个函数主要完成各个对数据文件的操作 而不必管其他操作

   业务逻辑层:主要负责对数据层的操作 也就是说把一些数据层的操作进行组合

   表示层:主要对用户的请求接受 以及数据的返回 为客户端提供应用程序的访问

  三层结构解释

  所谓三层体系结构 是在客户端与数据库之间加入了一个中间层 也叫组件层 这里所说的三层体系 不是指物理上的三层 不是简单地放置三台机器就是三层体系结构 也不仅仅有B/S应用才是三层体系结构 三层是指逻辑上的三层 即使这三个层放置到一台机器上 三层体系的应用程序将业务规则 数据访问 合法性校验等工作放到了中间层进行处理 通常情况下 客户端不直接与数据库进行交互 而是通过/D通讯与中间层建立连接 再经由中间层与数据库进行交换

  开发人员可以将应用的商业逻辑放在中间层应用服务器上 把应用的业务逻辑与用户界面分开 在保证客户端功能的前提下 为用户提供一个简洁的界面 这意味着如果需要修改应用程序代码 只需要对中间层应用服务器进行修改 而不用修改成千上万的客户端应用程序 从而使开发人员可以专注于应用系统核心业务逻辑的分析 设计和开发 简化了应用系统的开发 更新和升级工作

  那么为什么要应用 中间业务层 呢?举些例子:

  我们假设有一段登录代码 则可以这样处理Web程序 外观层负责接收前台页面的数据 然后传给中间层 中间层对数据进行处理 比如格式化 防SQL注入等等一些 这样的数据再传给数据访问层然后与数据库进行操作 比如与数据库的用户名和密码匹配等等一些代码

   中间业务层 的用途有很多 例如 验证用户输入数据 缓存从数据库中读取的数据等等……但是 中间业务层 的实际目的是将 数据访问层 的最基础的存储逻辑组合起来 形成一种业务规则 例如 在一个购物网站中有这样的一个规则 在该网站第一次购物的用户 系统为其自动注册 这样的业务逻辑放在中间层最合适

  在 数据访问层 中 最好不要出现任何 业务逻辑 !也就是说 要保证 数据访问层 的中的函数功能的原子性!即最小性和不可再分 数据访问层 只管负责存储或读取数据就可以了

  完善的三层结构的要求是:修改表现层而不用修改逻辑层 修改逻辑层而不用修改数据层 否则你的应用是不是多层结构 或者说是层结构的划分和组织上是不是有问题就很难说 不同的应用有不同的理解 这只是一个概念的问题. 理解ASP NET中的三层结构——为什么要分三层?

  我们用三层结构主要是使项目结构更清楚 分工更明确 有利于后期的维护和升级 它未必会提升性能 因为当子程序模块未执行结束时 主程序模块只能处于等待状态 这说明将应用程序划分层次 会带来其执行速度上的一些损失 但从团队开发效率角度上来讲却可以感受到大不相同的效果

  需要说明一下 三层结构不是 NET的专利 也不是专门用在数据库上的技术 它是一种更加普适的架构设计理念

  个人感觉

  个人感觉此种架构要在数据库设计上注意表之间的关系 尽力满足主与子的关系 在功能上对用户要有一定的限制 不要表现在对于子表的删除操作一定要慎重 以免造成主表与子表的数据在逻辑上出现的主表的外键在子表中没有相对应的值

  对于表的综合查询方法是

  先对主表查询 调用主表所对应的DL 再根据主表的记录分别对每一个子表进行查询 将自表的查询结果添加的主表后 形成一个大的查询集合

  对于表的操作(增删改)

  此时只对主表进行操作 调用主表对应的DL中的操作方法   RL层是逻辑判断层 主要是对页面上传入的数据进行逻辑判断 RL层之上就是UI

  如何建立一个三层体系结构解决方案

  新建一个空白解决方案 然后

   添加 - 新建项目 - 其他项目 - 企业级模版项目 - C#生成块 - 数据访问 (数据层 下简称D层)    添加 - 新建项目 - 其他项目 - 企业级模版项目 - C#生成块 - 业务规则 (业务层 下简称C层)    添加 - 新建项目 - 其他项目 - 企业级模版项目 - C#生成块 - Web用户界面 (界面层 下简称U层)   右键点 解决方案 - 项目依赖项 设置U依赖于D C C依赖于D

  对U添加引用D C 对C添加引用D

cha138/Article/program/net/201311/15434

相关参考

知识大全 Web系统的三层架构(2)

ASP.NET开发宝典:Web系统的三层架构(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 ASp.net 剖析三层架构

ASp.net剖析三层架构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 .NET三层架构应用之十层框架

.NET三层架构应用之十层框架  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  凡是接触net开发

知识大全 什么是三层架构

.NET三层架构解析:什么是三层架构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n

知识大全 深入浅出C#三层架构

深入浅出C#三层架构  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  本文用一个示例来介绍如何建设

知识大全 浅析MVC模式与三层架构的区别

浅析MVC模式与三层架构的区别  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  浅析MVC模式与三

脊髓的三层被膜是什么?

脊髓外面包有三层被膜,最外为硬脊膜,中间为蛛网膜,内层紧贴脊髓表面为软脊膜。(1)硬脊膜位于最外层,质坚韧,上与硬脑膜相连,在枕骨大孔处与骨膜愈合;下端可达第2~3骶椎,在此处向下形成终丝外膜,附着尾

知识大全 那幢带着一个80米长的游泳池和一个足球场的三层楼的房子有500多平方米的面积(翻译成英文)

那幢带着一个80米长的游泳池和一个足球场的三层楼的房子有500多平方米的面积(翻译成英文)Thatbigwitha80-meterswimmingpoolandathree-storyhouseofa

知识大全 浅析.NET架构与模式探索

浅析.NET架构与模式探索  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  什么是架构    软件

物联网基本架构是什么?

  从技术架构上来看,物联网可分为三层:感知层、网络层和应用层。  感知层由各种传感器构成,包括温湿度传感器、二维码标签、RFID标签和读写器、摄像头、GPS等感知终端。感知层是物联网识别物体、采集信