学籍管理系统PPT文件格式下载.pptx
- 文档编号:14648411
- 上传时间:2022-10-23
- 格式:PPTX
- 页数:41
- 大小:744.13KB
学籍管理系统PPT文件格式下载.pptx
《学籍管理系统PPT文件格式下载.pptx》由会员分享,可在线阅读,更多相关《学籍管理系统PPT文件格式下载.pptx(41页珍藏版)》请在冰豆网上搜索。
,你知道吗?
代码结构,把业务逻辑和用户图形界面强行分离开来。
DoMain领域模型,DomainBase作为一个基类,School,ProfessionalClass,Student为三个子类。
性别Sex用枚举单独定义一个枚举类型。
Domain模型的构造,领域模型是对领域内的概念类或现实世界中对象的可视化表示。
又称概念模型、领域对象模型、分析对象模型。
领域模型中的类都是一个实体。
简单说就是建立数据库是主键配有ID的对象。
判断下面有关学籍管理系统的名词哪个是一个实体?
(1)学生(5)性别
(2)年级(6)姓名(3)班级(7)年龄(4)学院,Domainbase基类的编写,基类的性质子类都会继承,所以要在基类中写子类共有的东西。
注意:
基类和接口不同。
继承接口的子类要重写所有接口中的abstruct(抽象)方法。
DomainBASE子类的编写,domainBase有三个子类,School,ProfessionalClass和Student.根据数据库确定三个子类的属性。
除了domainBase中定义的公共属性之外,班级还有studentNum,SchoolId,Grade和MaxStudentNum等属性;
学生还有ClassId和Sex两个属性。
用Student类的代码做一个示例,Domain扩展,DoMain中出现了Sex的一个枚举类型,规定了性别可能出现的几种情况。
定义了一个SexHelper类提供了Sex和String之间相互转换的服务方法。
publicclassSexHelperpublicstaticstringSexToString(Sexsex)publicstaticSexStringToSex(Stringsex),讨论,我们单独为性别定义了一个类型,后期编码经常需要把Sex转换成string类型,其实我们直接把性别定义成string类型更为简单。
但这里引入了一个SexHelper类,提供他们之间的转换服务。
仔细看,类中的函数都是静态的,这样写有什么好处?
恭喜!
领域模型完成了!
接口层,资源接口,服务接口,REPOSITORY接口类图,Service接口类图,休息一下,马上回来!
接下来我们要实现本项目的重点难点Repository。
Repository资源层,什么是Repository?
按照最初提出者的介绍,它是衔接数据映射层和域之间的一个纽带,作用相当于一个在内存中的域对象集合。
客户端对象把查询的一些实体进行组合,并把它们提交给Repository。
对象能够从Repository中移除或者添加,就好比这些对象在一个Collection对象上就行数据操作,同时映射层的代码会对应的从数据库中取出相应的数据。
非常形象地说,Repository就是一个仓库管理员,我们想从仓库中取出什么东西或在仓库中存入什么东西,只要告诉仓库管理员就可以了,仓库管理员可以帮我们实现数据的搬运与管理。
由于仓库管理员的存在,我们感觉不到繁琐的数据管理过程。
重在心法,由于我们的水平问题和章节限制,我们不再深入讲解Repository,我们只要体会Repository是一个怎样的存在。
在visualstudio中建立数据库,鼠标右击UI解决方案,选择添加-新建项,弹出右边的窗口。
建立数据库,鼠标双击新生成的数据库文件,看到左边服务器资源管理器,连接数据库,点击圈内“打开文件”图标,打开数据库脚本文件,导入脚本,选中资源管理器中的数据连接,点击圈内运行或连接,脚本导入成功,鼠标右击服务器资源管理器数据连接的Database.mdf,选择刷新,打开表文件夹,如果出现了Class、School、Student三个表项就代表脚本导入成功!
获取连接字符串,双击解决方案管理器中的Database.mdf,在属性栏中获取连接字符串。
打开UI里的App.config文件在里面创建数据库连接,接下来,我们就要开始写rEPOSITORY类,回顾repository,想想少了什么?
类中只定义了增删查改之类的管理数据方法,并没有连接数据库的方法。
怎么办呢?
定义一个“帮助”类,左边的图是这个“帮助类”的类图,从图中我们可以看出,它添加了connectionString字段,获取了数据库连接,在它里面也定义了很多数据库的执行方法,它就像仓库管理员的大脑一样,类似于一个Controller。
回头想一想,Model,Controller,SchoolRepositoryClassRepositoryStudentRepository,SqlDbHelper,Repository中的Model和Controller,插播一段:
工厂模式(factory),工厂是对象初始化的一种方式,可用于大量对象的初始化。
publicclassApublicclassBpublicclassFactory1publicstaticACreatA()returnnewA();
publicstaticBCreatB()returnnewB();
publicclassFactory2pubilcObjectCreat(inti)switch(i)case0:
returnnewA();
break;
case1:
returnnewB();
两种工厂,Factory1,factory2,用到了类的静态方法类的静态方法属于类,可以用类名直接调用初始化对象Objectoa=Factory1.CreatA();
Objectob=Factory1.CreatB();
用到了策略者模式需要先建立一个工厂类,然后用工厂类调用Creat()方法。
策略者模式创建的类必须继承自一个父类。
A和B必须有同一个父类。
初始化对象Factory2myFactory=newFactory2();
Objectoa=myFactory.Creat(0);
Objectob=myFactory.Creat
(1);
工厂类图,Service,在本项目中,Service有三个接口,也有三个类分别继承三个服务接口。
Service隐藏了仓库管理层,直接面向用户,从类图中可看出来,服务字段中自动找了仓库管理员,并进一步封装仓库管理的方法。
让用户感觉不到仓库管理层的存在,实现了让用户直接调用想要的服务。
右图是部分SchoolService类的代码,至此,业务逻辑终于做完了!
休息一下接下来要讲的是GUI的制作GUI和服务的接驳,你发现了什么?
主窗口,编辑窗口,是的,我们需要一个基类窗体,窗口控件的数据,根据不同的事件响应,求得不同的数据源,用控件绑定数据源,控件显示的数据要设置好,因为数据源有很多不同类型的数据,思考,运行一下老师给的代码,你发现那里有问题?
问题出在哪?
该怎么改正?
结束!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 学籍 管理 系统