欢迎来到天天文库
浏览记录
ID:40272547
大小:602.49 KB
页数:18页
时间:2019-07-30
《C#三层架构 简单实例分析》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、基于3层架构的课程管理系统本模块工作任务Ø任务3-1:三层架构划分Ø任务3-2:数据访问层的实现Ø任务3-3:业务逻辑层的实现Ø任务3-4:表示层的实现本模块学习目标Ø1、掌握三层架构的划分原理Ø2、掌握各层的设计思路,和层之间的调用关系Ø3、利用三层架构实现对课程管理模块的重构Ø4、巩固OOP的基本概念和OOP的编程思路-----------------------------------------------------------------------------------------------------------------------
2、----------任务3-1:三层架构划分Ø效果与描述数据访问层业务逻辑层界面层图3.1包含多个项目的3层架构解决方案本任务要求学生能够将原来的只有1个项目的课程管理模块,重构为标准的具有5个项目的3层架构的模块,并进行恰当的初始化,仍能实现课程记录的添加、浏览功能。在此过程中理解3层架构的划分原理,各层的任务,层之间的调用关系。本任务的业务流程:图3.2单层转化为3层架构的业务流程Ø相关知识与技能3-1-1三层架构的划分原理三层架构的划分如下图:图3.3三层架构原理图1、各层的任务数据访问层:使用ADO.NET中的数据操作类,为数据库中的每个表,设计1
3、个数据访问类。类中实现:记录的插入、删除、单条记录的查询、记录集的查询、单条记录的有无判断等基本的数据操作方法。对于一般的管理信息软件,此层的设计是类似的,包含的方法也基本相同。此层的任务是:封装每个数据表的基本记录操作,为实现业务逻辑提供数据库访问基础。业务逻辑层:为用户的每个功能模块,设计1个业务逻辑类,此时,需要利用相关的数据访问层类中,记录操作方法的特定集合,来实现每个逻辑功能。界面层:根据用户的具体需求,为每个功能模块,部署输入控件、操作控件和输出控件,并调用业务逻辑层中类的方法实现功能。2、层之间的调用关系数据访问层的类,直接访问数据库,实现基
4、本记录操作。业务逻辑层的类,调用相关的数据访问类,实现用户所需功能。界面层:部署控件后,调用业务逻辑层的类,实现功能。将应用程序的功能分层后,对于固定的DBMS,数据访问层基本可以不变,一旦用户的需求改变,首先修改业务逻辑层,界面层稍做改动即可。这种做法使程序的可复用性、可修改性,都得到了很好的改善,大大提高了软件工程的效率。3-1-2ORM(对象关系映射)在图3.1中看到,除了界面层、业务逻辑层和数据访问层之外,还有2个项目。其中,Common项目中一般放的是公用文件,如数据操作类DBHelper等,被数据访问层的类调用,其必要性在上个模块已述。Moda
5、l项目中存放的是实体类。所谓的对象关系映射ObjectRelationalMapping,简称ORM,是为了解决面向对象的类,与关系数据库的表之间,存在的不匹配的现象,通过使用描述对象和关系之间映射的元数据,在程序中的类对象,与关系数据库的表之间建立持久的关系,用于在程序中描述数据库表。本质上就是将数据从一种形式转换到另外一种形式。ORM是一个广义的概念,适应于关系数据库与应用程序之间的各类数据转换,目前有许多自动转换工具可用,如codesmith等。在本教材中,利用手工书写代码的形式,实现ORM。如对于学生选课管理系统数据库中的课程表course,其设计
6、视图如下:图3.4Course表设计视图可以这样设计类来描述它:publicclassCourse{privatestringcourseId;publicstringCourseId{get{returncourseId;}set{courseId=value;}}privatestringcourseName;publicstringCourseName{get{returncourseName;}set{courseName=value;}}privateintcourseCredit;publicintCourseCredit{get{return
7、courseCredit;}set{courseCredit=value;}}publicCourse(){}publicCourse(stringcourseId,stringcourseName,intcourseCredit){this.courseId=courseId;this.courseName=courseName;this.courseCredit=courseCredit;}}将表中的每个字段抽取为类的字段(注意类型匹配),并封装成属性,设计构造函数,来将表抽取为类。这种类就称为实体类。这个抽取过程称为对象关系映射ORM。在Modal项
8、目中,为数据库的每个表,都设计一个相应的实体类,这样,就相当于对每
此文档下载收益归作者所有