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

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

1. 三层架构概述
三层结构是一种严格分层方法,即数据访问层(DAL)只能被业务逻辑层(BLL)访问,业务逻辑层只能被表示层(UI)访问,用户通过表示层将请求传送给业务逻辑层,业务逻辑层完成相关业务规则和逻辑,并通过数据访问层访问数据库获得数据,然后按照相反的顺序依次返回将数据显示在表示层。有的三层结构还加了Factory、 Model等其他层,实际都是在这三层基础上的一种扩展和应用。
    1.1. 三层架构结构图
         ●表现层(UI) :通俗讲就是展现给用户的界面,即用户在使用一个系统的时候他的所见所得。
         ●业务逻辑层(BLL) :针对具体问题的操作,也可以说是对数据层的操作,对数据业务逻辑处理。
         ●数据访问层(DAL) :直接操作数据库,针对数据的增、删、改、查。实体层. (Model) :从数据表到实体类的映射,是其他三层数据传输的载体。

1.2. 三层架构的优点
    ●开发人员可以只关注整个结构中的其中某一层;
    ●可以很容易地用新的实现来替换原有层次的实现;
    ●可以降低层与层之间的依赖;有利于标准化;
    ●利于各层逻辑的复用

ASP.NET三层架构的概述相关推荐

  1. 第六章节 三层架构(一. 三层架构的概述)

    一. 三层架构的概述 1.在大中型ASP.NET站点的设计开发中,通常采用三层架构的设计,既表现层.业务逻辑层.数据访问层,各层特点简述如下: 层级 说明 表现层 (UI) 用于显示数据和接收用户输入 ...

  2. ASP.NET 三层架构技术 人力资源管理系统项目HR (深入WebServic

    白菜价, 想要的联系QQ:867635458,非诚勿扰! ASP.NET MVC Linq 技术  企业级通用OA系统  全程开发 大型企业级别OA项目实战全新上线啦!本项目由小孔子讲师全程录制.小孔 ...

  3. asp.net三层架构连接Oracle 11g详解

    asp.net三层架构连接Oracle 11g 连接Oracle时使用微软的Oracle连接组件: 一 DAL层 using System; using System.Collections.Gene ...

  4. .net mysql sqlhelper_「谢灿asp.net三层架构」5、DAL中公共类-SqlHelper类应该这样写

    <谢灿asp.net三层架构>系列教程由小灿灿IT首发百度平台,希望对各位喜欢计算机的同学有所帮助!关注+分享+评论+点赞,是对我们最好的支持!有了您的支持,我们坚信我们会做得更好! 在C ...

  5. ASP.NET 三层架构实现与数据库的连接验证登录

    1.打开visual stdio->新建项目->Web->ASP.NET web应用程序->选择Empty 2.建好类库,右键选择解决方案"你的项目名"-& ...

  6. ASP.NET三层架构之不确定查询参数个数的查询

    在做三层架构的时候,特别是对表做查询的时候,有时候并不确定查询条件的个数,比如查询学生表:有可能只输入学号,或者姓名,或者性别,总之查询条件的参数个数并不确定,下面是我用List实现传值的代码: 附图 ...

  7. asp.net三层架构制作新闻管理_程序员蜕变为架构师必须要知道的「架构理论」...

    架构目的和指标 架构目的: 架构设计的主要目的是为了解决软件系统复杂度带来的问题,是用最小的人力成本来满足需求的开发和响应需求的变化,用最小的运行成本来保障软件的运行.让软件达到"高内聚.松 ...

  8. ASP.NET三层架构全站开发的电商网站

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  9. asp.net三层架构详解

    一.数据库 /*==============================================================*/ /* DBMS name:      Microsof ...

  10. asp.net三层架构应用详解【收录】

    ASP.NET技术框架+脚本语言,对于不绑定数据的页面都用了HTML的静态控件.使用了最新的AJAX技术实现了无刷新的三级连动,通过继承IHttpHandler(处理器)类防止图片盗链,使用了大量用户 ...

最新文章

  1. html超链接button
  2. 考研专业课计算机网络调剂,计算机网络信息中心2019年硕士研究生接收调剂信息公告...
  3. Android之URI简介
  4. 一个自动生成关键字索引页面的比处理文件
  5. appender log4j 扩展_Log4j扩展使用--输出地Appender
  6. 大数据之-Hadoop3.x_MapReduce_ETL数据清洗案例---大数据之hadoop3.x工作笔记0136
  7. bboss_spring_struts2_myibatis对比分析
  8. sql 在某段时间_解Bug之路记一次中间件导致的慢SQL排查过程
  9. 方维团购系统二次开发,项目经验
  10. GNU ARM汇编--(五)中断汇编之嵌套中断处理
  11. html5指南--1.html5全局属性(html5 global attributes)
  12. AsteriskNow 实用总结
  13. 常用语料库语言学相关软件下载
  14. UniWebView插件的使用
  15. mysql查询图书复本量_SQL语句在图书管理数据库中实现下列查询S1:在借阅表中查询哪些 爱问知识人...
  16. 资料:《大学英语》精读第三版(全六册)原文及全文翻译
  17. GF1、Landast、Sentinel等常用免费遥感影像下载地址
  18. HTML简单制作一个网页
  19. 2020-12-11静态路由汇总实验
  20. 在函数fnl()中定义一个静态变量n,fnl()中对n的值加1,在主函数中,调用fnl()10次,显示n的值,c++

热门文章

  1. 语言能力测试C1,本科生实验实践能力测试计算机实验实践能力(C1-1级)达.PDF...
  2. Hadoop生态系统概述
  3. cadence allegro中导出网表错误之元器件引脚名错误
  4. 深度学习--生成对抗网络(Generative Adversarial Nets)
  5. 软件测试面试官:请问N95该怎么测试?
  6. springboot毕业论文管理系统 计算机毕设源码42124
  7. 游乐园OR办公室 难以置信的创意设计
  8. jQuery实现鼠标移上弹出提示框,移出消失
  9. 简单的C++解释器1.02
  10. 97.网络安全渗透测试—[常规漏洞挖掘与利用篇13]—[COOKIE身份验证绕过漏洞与测试]