一、三层架构

1、什么是三层?

UI(表现层): 主要是指与用户交互的界面。用于接收用户输入的数据和显示处理后用户需要的数据。

BLL:(业务逻辑层): UI层和DAL层之间的桥梁。实现业务逻辑。业务逻辑具体包含:验证、计算、业务规则等等。

DAL:(数据访问层): 与数据库打交道。主要实现对数据的增、删、改、查。将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库。(当然这些操作都是基于UI层的。用户的需求反映给界面(UI),UI反映给BLL,BLL反映给DAL,DAL进行数据的操作,操作后再 一 一 返回,直到将用户所需数据反馈给用户)

每一层都各负其责,那么该如何将三层联系起来呢?

1、单项引用(见下图)

2、这时候实体层(Entity)来了。(注:当然,实体层的作用不止这些)

Entity(实体层):它不属于三层中的任何一层,但是它是必不可少的一层。

Entity在三层架构中的作用:

  • 1、实现面向对象思想中的"封装";
  • 2、贯穿于三层,在三层之间传递数据;(注:确切的说实体层贯穿于三层之间,来连接三层)
  • 3、对于初学者来说,可以这样理解:每张数据表对应一个实体,即每个数据表中的字段对应实体中的属性(注:当然,事实上不是这样。为什么?1>,可能我们需要的实体在数据表对应的实体中并不存在;2>,我们完全可以将所有数据表中的所有字段都放在一个实体里)
  • 4、每一层(UI—>BLL—>DAL)之间的数据传递(单向)是靠变量或实体作为参数来传递的,这样就构造了三层之间的联系,完成了功能的实现。

综上所述:三层及实体层之间的依赖关系:

2、为什么使用三层?

使用三层架构的目的:解耦!!!

三层之中每一层当不再适合程序时都可以没有负担的进行更换,不会影响其它层的正常工作。


二、采用三层架构的小Demo

3、三层的具体表现形式

采用三层架构的小Demo的目录结构


UI界面:


导入文件(位置在上面的架构目录上):

App.config

配置用来连接数据库的参数

 App.config

SqlHelper.cs

主要用来封装操作数据库的方法

 SqlHelper.cs


DAL层:

UserService.cs

根据给的参数与SQL语句结合操作数据库,将返回结果进行封装,返回给BLL层

 UserService.cs


BLL层:

UserManager:

将得到的结果进行加工,返回给UI层

 UserManager


UI层:

Form1

 Form1

就先到这吧。

软件工程_三层架构介绍相关推荐

  1. 黑马程序员-三层架构介绍

    ---------------------- Windows Phone 7手机开发. .Net培训.期待与您交流! ---------------------- 三层架构介绍 1关于架构 架构这个词 ...

  2. java三层架构项目事例_三层架构实例

    一.概要 在我的上一篇博客中,我们谈了谈分层,到底为什么分层(http://blog.csdn.net/shan9liang/article/details/6836300) 这篇博客,准备用一个小D ...

  3. 计算机网络实验_三层架构企业网络_基于Cisco Packet Tracer模拟器

    三层架构企业网络_基于Cisco Packet Tracer模拟器 一.实验目的 1.了解一般企业网络的三层架构模型: 2.了解三层架构企业网络内部的通信流程: 3.理解双核心路由的热备份和负载均衡. ...

  4. 软件工程_1三层架构

    一.三层架构 1.什么是三层? UI(表现层): 主要是指与用户交互的界面.用于接收用户输入的数据和显示处理后用户需要的数据. BLL:(业务逻辑层): UI层和DAL层之间的桥梁.实现业务逻辑.业务 ...

  5. 学生成绩管理系统_三层架构版(超详细)

    本人今年刚刚毕业,进一家公司开始实习,第一天就收获匪浅,果然是上班一天,自学一月.第一次接触vb,然后被要求做一个学生成绩管理系统,然后就做出了一个屎一般的系统,,,,大学白学好吧.前辈是个好人啊.手 ...

  6. java delphi 三层_三层架构delphi+Java+Oracle模式的实现

    [架构简介] *本架构以delphi作为客户端,Java作为服务端,oracle作为后台数据库数据.其中delphi客户端的封装为了保持与原来的开发方式兼容都是基于TclientDataSet实现的: ...

  7. 三层架构介绍和MVC设计模型介绍

  8. 20220715_JaveWeb_MVC模式_三层架构案例

    JavaWeb实现品牌数据库的增删改查案例 涉及mybatis,servlet, jsp等 文章目录 准备工作部分 先准备一个数据库 show databases ; use mybatis; sho ...

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

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

  10. C#_三层(BLL DAL Model)架构详解

    C#_三层架构详解 三层架构: 表现层(UI).业务逻辑层(BLL).数据访问层(DAL)再加上实体类库(Model) 表现层(UI):一般都是窗体的设计或者网页的设计,是可以一眼就可以看到的界面. ...

最新文章

  1. 单片机如何使用?51单片机C语言编程实例有哪些?
  2. scala break continue
  3. 计算机网络:第六章 应用层
  4. RabbitMQ 消息确认机制confirm代码编写
  5. boost::spirit::karma::real_generator相关的测试程序
  6. npm install的代理问题
  7. 2018-2019 20165208 网络对抗 Exp3 免杀原理与实践
  8. 上证指数30年k线图_技术预判2020:上证指数要突破3500点才会“井喷”
  9. Gamma阶段第八次scrum meeting
  10. python中event_Python Event实现线程通信
  11. 实现简单的ImageLoader
  12. HackerRank [Algo] Matrix Rotation
  13. 基于SSM的房屋租赁管理系统
  14. Android之应用市场排行榜、上架、首发(非原创)
  15. KYLO的Spring知识总结
  16. linux大容量硬盘 克隆到小硬盘_clonezilla 不管用了,手动把 GPT 分区的 ubuntu14.04 操作系统从大硬盘克隆到小硬盘...
  17. 高校如何优雅的使用Ipv6--抱着道长的大腿
  18. 怎么快速读懂c语言程序,零基础如何看懂C语言程序的基本结构
  19. 免校准的电量计量芯片_技术 | 免校准电能计量芯片,让家电智能化更简单
  20. 生物特征识别学科发展报告

热门文章

  1. ie浏览器不支持java_用于解决IE浏览器中Java脚本无法执行
  2. 使用mysql创建表格
  3. [嵌入式学习必备网站分享]嵌入式开发必须收藏的二十个网站 内附超链接 实用 嵌入式单片机学习网站
  4. 朴实无华,25个常用Matplotlib图的Python模板代码
  5. 实战攻防比赛中作为防守方需要做哪些工作
  6. 2008年度世界五百强
  7. 让 macbook 外接键盘支持 HOME 键
  8. Excel公式:index + match多条件匹配,以当前行多个单元值去另一文档匹配,返回指定单元值
  9. java开发微信服务号流程
  10. 禁用win10触摸屏手势_怎么修改win10 触控板手势设置