软件工程_三层架构介绍
一、三层架构
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
就先到这吧。
软件工程_三层架构介绍相关推荐
- 黑马程序员-三层架构介绍
---------------------- Windows Phone 7手机开发. .Net培训.期待与您交流! ---------------------- 三层架构介绍 1关于架构 架构这个词 ...
- java三层架构项目事例_三层架构实例
一.概要 在我的上一篇博客中,我们谈了谈分层,到底为什么分层(http://blog.csdn.net/shan9liang/article/details/6836300) 这篇博客,准备用一个小D ...
- 计算机网络实验_三层架构企业网络_基于Cisco Packet Tracer模拟器
三层架构企业网络_基于Cisco Packet Tracer模拟器 一.实验目的 1.了解一般企业网络的三层架构模型: 2.了解三层架构企业网络内部的通信流程: 3.理解双核心路由的热备份和负载均衡. ...
- 软件工程_1三层架构
一.三层架构 1.什么是三层? UI(表现层): 主要是指与用户交互的界面.用于接收用户输入的数据和显示处理后用户需要的数据. BLL:(业务逻辑层): UI层和DAL层之间的桥梁.实现业务逻辑.业务 ...
- 学生成绩管理系统_三层架构版(超详细)
本人今年刚刚毕业,进一家公司开始实习,第一天就收获匪浅,果然是上班一天,自学一月.第一次接触vb,然后被要求做一个学生成绩管理系统,然后就做出了一个屎一般的系统,,,,大学白学好吧.前辈是个好人啊.手 ...
- java delphi 三层_三层架构delphi+Java+Oracle模式的实现
[架构简介] *本架构以delphi作为客户端,Java作为服务端,oracle作为后台数据库数据.其中delphi客户端的封装为了保持与原来的开发方式兼容都是基于TclientDataSet实现的: ...
- 三层架构介绍和MVC设计模型介绍
- 20220715_JaveWeb_MVC模式_三层架构案例
JavaWeb实现品牌数据库的增删改查案例 涉及mybatis,servlet, jsp等 文章目录 准备工作部分 先准备一个数据库 show databases ; use mybatis; sho ...
- 什么是三层架构?简单的介绍三层架构!
三层架构(3-tierarchitecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(Presentation layer).业务逻辑层(Business Logic Layer). ...
- C#_三层(BLL DAL Model)架构详解
C#_三层架构详解 三层架构: 表现层(UI).业务逻辑层(BLL).数据访问层(DAL)再加上实体类库(Model) 表现层(UI):一般都是窗体的设计或者网页的设计,是可以一眼就可以看到的界面. ...
最新文章
- 单片机如何使用?51单片机C语言编程实例有哪些?
- scala break continue
- 计算机网络:第六章 应用层
- RabbitMQ 消息确认机制confirm代码编写
- boost::spirit::karma::real_generator相关的测试程序
- npm install的代理问题
- 2018-2019 20165208 网络对抗 Exp3 免杀原理与实践
- 上证指数30年k线图_技术预判2020:上证指数要突破3500点才会“井喷”
- Gamma阶段第八次scrum meeting
- python中event_Python Event实现线程通信
- 实现简单的ImageLoader
- HackerRank [Algo] Matrix Rotation
- 基于SSM的房屋租赁管理系统
- Android之应用市场排行榜、上架、首发(非原创)
- KYLO的Spring知识总结
- linux大容量硬盘 克隆到小硬盘_clonezilla 不管用了,手动把 GPT 分区的 ubuntu14.04 操作系统从大硬盘克隆到小硬盘...
- 高校如何优雅的使用Ipv6--抱着道长的大腿
- 怎么快速读懂c语言程序,零基础如何看懂C语言程序的基本结构
- 免校准的电量计量芯片_技术 | 免校准电能计量芯片,让家电智能化更简单
- 生物特征识别学科发展报告
热门文章
- ie浏览器不支持java_用于解决IE浏览器中Java脚本无法执行
- 使用mysql创建表格
- [嵌入式学习必备网站分享]嵌入式开发必须收藏的二十个网站 内附超链接 实用 嵌入式单片机学习网站
- 朴实无华,25个常用Matplotlib图的Python模板代码
- 实战攻防比赛中作为防守方需要做哪些工作
- 2008年度世界五百强
- 让 macbook 外接键盘支持 HOME 键
- Excel公式:index + match多条件匹配,以当前行多个单元值去另一文档匹配,返回指定单元值
- java开发微信服务号流程
- 禁用win10触摸屏手势_怎么修改win10 触控板手势设置