没有合适的资源?快使用搜索试试~ 我知道了~
c#三层架构讲解和实例分析.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 155 浏览量
2021-10-02
11:19:07
上传
评论
收藏 289KB PDF 举报
温馨提示
试读
19页
c#三层架构讲解和实例分析.pdf
资源推荐
资源详情
资源评论
模块概述 2
本模块工作任务 ............................................................................................................................... 2
本模块学习目标 ............................................................................................................................... 2
任务 3-1:三层架构划分 ........................................................................................................ 2
效果与描述 ....................................................................................................................... 2
相关知识与技能 ............................................................................................................... 3
3-1-1 三层架构的划分原理 ............................................................................................ 3
3-1-2 ORM(对象关系映射) ......................................................................................... 4
任务的设计思路 ............................................................................................................... 5
任务的实施 ....................................................................................................................... 5
举一反三 ........................................................................................................................... 6
任务 3-2:数据访问层 .................................................................................................................... 6
效果与描述 ....................................................................................................................... 6
相关知识与技能 ............................................................................................................... 7
3-2-1 泛型集合的定义与使用 ...................................................................................... 14
3-2-2 数据访问层的设计思路 ........................................................................................ 7
任务的设计思路 ............................................................................. 错误!未定义书签。
任务的实施 ....................................................................................................................... 8
举一反三 ......................................................................................................................... 10
任务 3-3:业务逻辑层的实现 ...................................................................................................... 10
效果与描述 ..................................................................................................................... 10
相关知识与技能 ............................................................................................................. 11
3-3-1 业务逻辑层的设计思路 ...................................................................................... 11
任务的设计思路 ............................................................................. 错误!未定义书签。
任务的实施 ..................................................................................... 错误!未定义书签。
举一反三 ......................................................................................................................... 17
任务 3-4:表示层的实现 .............................................................................. 错误!未定义书签。
效果与描述 ..................................................................................... 错误!未定义书签。
相关知识与技能 ............................................................................. 错误!未定义书签。
3-4-1 界面层的设计思路 .............................................................. 错误!未定义书签。
任务的设计思路 ............................................................................. 错误!未定义书签。
任务的实施 ..................................................................................... 错误!未定义书签。
举一反三 ......................................................................................... 错误!未定义书签。
本模块小结 ..................................................................................................................................... 17
本模块作业 ..................................................................................................................................... 18
模块三 基于 3 层架构的课程管理
模块概述
在上个模块:单层的课程管理中,已实现数据库的连接、 命令的执行、 不同数据集的应
用,并利用应用程序配置文件, 和自定义的数据操作类, 对程序进行了优化重构。 实现一个
管理信息系统所需要的技术,似乎已全了。
但是, 如果应用程序的功能需求不是这么简单,而是有非常复杂的流程。那么,如果按
照上个模块的做法, 在最后的重构中设计了一些功能实现方法, 并且在同一层调用, 界面层
的代码就会很长而无序。 并且, 一旦用户需求改变,则对这么长的代码进行重写, 是不可行
的。这种做法对于大型的软件是不能承受的。
因此, 目前通用的做法是: 将应用程序的实现分布在从底向高的三个层。 数据访问层实
现对数据库记录的操作, 这对于特定 DBMS 是固定的, 不需更改的; 业务逻辑层利用数据访
问层实现业务逻辑, 这层是关键,如果用户的业务需求改了, 可以在这层中修改, 因为这层
有很多独立的方法, 而且,改某个功能不会影响到别的功能, 这种改动就比较科学;界面层
调用业务逻辑层实现用户的功能, 只要业务逻辑层有这个功能, 就可以调用, 界面层只需提
供输入输出和提示等。 这就是基于 3 层架构的应用程序体系结构, 是目前最通用的架构模式。
本模块工作任务
任务 3-1:三层架构划分
任务 3-2:数据访问层的实现
任务 3-3:业务逻辑层的实现
任务 3-4:表示层的实现
本模块学习目标
1、掌握三层架构的划分原理
2、掌握各层的设计思路,和层之间的调用关系
3、利用三层架构实现对课程管理模块的重构
4、巩固 OOP 的基本概念和 OOP的编程思路
---------------------------------------------------------------------------------------------------------------------------------
任务 3-1:三层架构划分
效果与描述
图 3.1 包含多个项目的 3 层架构解决方案
本任务要求学生能够将原来的只有 1 个项目的课程管理模块, 重构为标准的具有 5 个项
业务逻辑层
数据访问层
界面层
目的 3 层架构的模块, 并进行恰当的初始化, 仍能实现课程记录的添加、浏览功能。在此过
程中理解 3 层架构的划分原理,各层的任务,层之间的调用关系。
本任务的业务流程:
将原项目改为 UI层
新建BLL/ DAL/COMMON/MODL 项
目并初始化
初始化后仍能实现课程记录的浏览和添
加
图 3.2 单层转化为 3 层架构的业务流程
相关知识与技能
3-1-1 三层架构的划分原理
三层架构的划分如下图:
图 3.3 三层架构原理图
1、 各层的任务
数据访问层:使用 ADO.NET 中的数据操作类,为数据库中的每个表,设计 1 个数据访
问类。类中实现:记录的插入、删除、单条记录的查询、记录集的查询、单条记录的有无判
断等基本的数据操作方法。 对于一般的管理信息软件, 此层的设计是类似的, 包含的方法也
基本相同。 此层的任务是: 封装每个数据表的基本记录操作, 为实现业务逻辑提供数据库访
问基础。
业务逻辑层:为用户的每个功能模块,设计 1 个业务逻辑类, 此时,需要利用相关的数
据访问层类中,记录操作方法的特定集合,来实现每个逻辑功能。
界面层: 根据用户的具体需求, 为每个功能模块, 部署输入控件、 操作控件和输出控件,
并调用业务逻辑层中类的方法实现功能。
2、 层之间的调用关系
数据访问层的类,直接访问数据库,实现基本记录操作。
业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。
界面层:部署控件后,调用业务逻辑层的类,实现功能。
将应用程序的功能分层后,对于固定的 DBMS,数据访问层基本可以不变,一旦用户的
需求改变, 首先修改业务逻辑层,界面层稍做改动即可。 这种做法使程序的可复用性、 可修
改性,都得到了很好的改善,大大提高了软件工程的效率。
3-1-2 ORM(对象关系映射)
在图 3.1 中看到,除了界面层、业务逻辑层和数据访问层之外,还有 2 个项目。其中,
Common 项目中一般放的是公用文件, 如数据操作类 DBHelper 等,被数据访问层的类调用,
其必要性在上个模块已述。 Modal 项目中存放的是实体类。
所谓的对象关系映射 Object Relational Mapping ,简称 ORM,是为了解决面向对象的类,
与关系数据库的表之间, 存在的不匹配的现象, 通过使用描述对象和关系之间映射的元数据,
在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。
本质上就是将数据从一种形式转换到另外一种形式。
ORM 是一个广义的概念,适应于关系数据库与应用程序之间的各类数据转换,目前有
许多自动转换工具可用,如 codesmith 等。在本教材中,利用手工书写代码的形式,实现
ORM。
如对于学生选课管理系统数据库中的课程表 course,其设计视图如下:
图 3.4 Course表设计视图
可以这样设计类来描述它:
public classCourse
{
private string courseId;
public string CourseId
{
get { return courseId; }
set { courseId = value; }
}
private string courseName;
public string CourseName
{
get { return courseName; }
set { courseName = value; }
}
private int courseCredit;
public int CourseCredit
{
get { return courseCredit; }
set { courseCredit = value; }
}
剩余18页未读,继续阅读
资源评论
资料大全
- 粉丝: 14
- 资源: 26万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Semantic Color Palette 语义调色板Unity游戏开发插件资源unitypackage
- Low Poly Nature:Lush and Diverse Environments低聚自然郁郁Unity低多边形模型资源
- voc数据集是什么-我们如何使用voc数据集
- Edgar Pro-Procedural Level Generator程序关卡生成器Unity开发插件unitypackage
- 宝藏软件m3u8下载器\m3u8DL-CLI
- 三次样条插值的介绍-什么是三次样条插值原理
- http的一些相关介绍-对于我们来说什么是http
- 全卷积网络基于voc2012数据集简单pytorch实现
- pycharm的一些介绍-用于更好的学习python
- 基于C++的程序设计大赛天梯赛L2答案(天梯赛)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功