知识大全 Web系统的三层架构(1)
Posted 知
篇首语:笛里谁知壮士心,沙头空照征人骨。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Web系统的三层架构(1)相关的知识,希望对你有一定的参考价值。
ASP.NET开发宝典:Web系统的三层架构(1) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Web系统的三层架构( )
什么是三层架构
所谓的三层开发就是将系统的整个业务应用划分为表示层 业务逻辑层 数据访问层 这样有利于系统的开发 维护 部署和扩展 图 所示为三层架构示意图
分层实现了 高内聚 低耦合 采用 分而治之 的思想 把问题划分开来解决 易于控制 延展 易于分配资源
图 三层架构示意图
表示层 负责直接跟用户进行交互 一般是指系统的界面 用于数据录入 数据显示等 意味着只做与外观显示相关的工作 不属于它的工作不用做
业务逻辑层 用于做一些有效性验证的工作 以更好地保证程序运行的健壮性 如完成数据添加 修改和查询业务 不允许指定的文本框中输入空字符串 数据格式是否正确及数据类型验证 用户权限的合法性判断等 通过以上的诸多判断以决定是否将操作继续向后传递 尽量保证程序的正常运行
数据访问层 顾名思义 就是用于专门跟数据库进行交互 执行数据的添加 删除 修改和显示等 需要强调的是 所有的数据对象只在这一层被引用 如System Data SqlClient等 除数据层之外的任何地方都不应该出现这样的引用
ASP NET可以使用 NET平台快速方便地部署三层架构 ASP NET革命性的变化是在网页中也使用基于事件的处理 可以指定处理的后台代码文件 可以使用C# VB C++和J#作为后台代码的语言NET中可以方便地实现组件的装配 后台代码通过命名空间可以方便地使用自己定义的组件 表示层放在ASPX页面中 数据库操作和逻辑层用组件或封装类来实现 这样就很方便地实现了三层架构
为什么使用三层架构
对于一个简单的应用程序来说 在代码量不是很多的情况下 单层架构或二层架构开发完全够用 没有必要将其复杂化 如果将一个复杂的大型系统设计为单层架构或二层架构 这样的设计则会存在很严重的缺陷 下面会具体介绍 分层开发其实是为大型系统服务的
在开发过程中出现相似的功能时 初级程序人员经常会复制代码 那么同样的代码为什么要写那么多次?这样不但使程序变得冗长 也不利于维护 一个小小的修改或许会涉及很多页面 经常会导致异常的产生 使程序不能正常运行 最主要的是面向对象的思想没有得到丝毫的体现 打着面向对象的幌子却依然走着面向过程的道路
针对这样的问题 初级程序人员应学会将程序中一些公用的处理程序写成公共方法 封装在类中 供其他程序调用 例如写一个数据操作类 对数据操作进行合理封装 在数据库操作过程中 只要类中的相应方法(数据添加 修改 查询等)可以完成特定的数据操作 这就是数据访问层 不用每次操作数据库时都写那些重复性的数据库操作代码 在新的应用开发中 数据访问层可以直接拿来用 面向对象的三大特性之一的封装性在这里得到了很好的体现 采用面向对象的方法 可使代码量较以前有很大的减少 而且修改的时候也比较方便 实现了代码的重用性
下面举两个案例 解释一下为什么要使用三层架构 案例涉及的框架图如图 所示
案例一
由于数据量的不断增加 数据库由Access变成了SQL Server数据库 这样一来 原来的数据访问层失效了 数据操作对象发生了变化 并且页面中涉及数据对象的地方也要进行修改 因为原来可能会使用OleDbDataReader对象将数据传递给显示页面 现在都得换成SqlDataReader对象 SQL Server和Access支持的数据类型也不一致 在显示数据时进行的数据转换也要进行修改
案例二
由于特殊情况需要 把Web形式的项目改造成Windows应用 此时需要做多少修改呢?如果在Aspx cs中占据了大量代码 或者还有部分代码存在于ASPX中 那么整个系统是否需要重新开发呢?
总之 以上情况是设计不合理造成的 在上面的案例中是否体会到了没有分层开发模式的缺陷呢?是否曾碰到过这样的情况呢?其实 多层开发架构的出现很好地解决了这样的问题 通过程序架构进行合理的分层 将极大地提高程序的通用性
使用三层架构开发的优点
从开发角度和应用角度来看 三层架构比二层架构或单层架构有更大的优势 三层架构适合团队开发 每个人可以有不同的分工 协同工作能使效率倍增 开发二层或单层应用时 每个开发人员都应对系统有较深的理解 对人员能力要求很高 而开发三层应用时 则可以结合多方面的人才 只需少数人对系统有全面的了解即可 在一定程度上降低了开发的难度
三层架构可以更好地支持分布式计算环境 逻辑层的应用程序可以在多个机器上运行 充分利用网络的计算功能 分布式计算的潜力巨大 远比升级CPU有效 美国人曾利用分布式计算进行解密 几个月就破解了据称永远都破解不了的密码
三层架构的最大优点是它的安全性 用户只能通过逻辑层来访问数据层 减少了入口点 把很多危险的系统功能都屏蔽了
返回目录 ASP NET开发宝典
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
ASP NET MVC 框架揭秘
cha138/Article/program/net/201311/16058相关参考
深入探讨:如何理解.Net的三层架构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 各层的作用
.NET三层架构解析:什么是三层架构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &n
深入浅出C#三层架构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文用一个示例来介绍如何建设
ASp.net剖析三层架构 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
.NET三层架构应用之十层框架 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 凡是接触net开发
浅析MVC模式与三层架构的区别 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 浅析MVC模式与三
脊髓外面包有三层被膜,最外为硬脊膜,中间为蛛网膜,内层紧贴脊髓表面为软脊膜。(1)硬脊膜位于最外层,质坚韧,上与硬脑膜相连,在枕骨大孔处与骨膜愈合;下端可达第2~3骶椎,在此处向下形成终丝外膜,附着尾
大型高性能ASP.NET系统架构设计 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! Web前端系
三层Web体系结构里的两种数据绑定模式 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 引言 本
现代JavaWeb开发架构分析 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在本文中我将集中讨