12-图书管理系统-静态结构设计-系统包与类.pptVIP

12-图书管理系统-静态结构设计-系统包与类.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图书管理系统——第11周第2次课 今天的工作任务 图书管理系统的静态结构设计(体系结构与模式)。 工作任务: 图书管理系统的静态结构设计 学习情景——图书管理系统体系结构设计 知识要点一览 面向对象设计(OOD) 设计原则 MVC设计模式 DAO模式 类图建模技术——系统类图 知识要点1:面向对象设计 静态结构设计 类设计 包设计 接口设计 动态结构设计(行为和交互建模) 对象如何进行交互的 还记得“春晓”吧? 知识要点2:设计原则 “开-闭”原则 里氏代换原则 合成复用原则 接口隔离原则 依赖倒转原则 迪米特法则 理论在实际中的运用——设计模式 设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。 知识要点3:MVC设计模式 先看一下图书管理系统的登陆 一种设计: 将用户名和密码的验证,放在登录界面的“进入系统”按钮中进行。 第一种设计存在的问题: 问题1:扩展性差。目前这个系统只有一个图书馆工作人员使用,因此用户名和密码都是admin,这样验证可行,但是如果以后维护期间,需要增加工作人员或者增加学生、教师等使用角色,系统的扩展性就受到了限制。 问题2:重用性不好。并且不同的角色需要写入不同的验证过程,不能重用。 问题3:界面人员还要考虑算法和逻辑。使界面变得不单一。 如何解决? 另一种设计: 新增加一个类UserLoginProcess,该类中有一个方法public boolean login_check(String uname,String upsw),此方法用来进行验证,如果验证通过则返回true给登录界面,否则返回false。 第2种设计给我们带来什么好处? 1.良好的封装,将界面和验证逻辑分开,系统结构更清晰。界面人员不用管验证的细节,只需要判断返回值是true还是false即可作出相应的显示操作。 2. UserLoginProcess类还可以提供其他验证操作,包括链接数据库的操作,为系统扩展性提供了接口。 3. UserLoginProcess类中的验证过程可以被重用,即使你再增加若干个不同角色的登录界面,一样可以使用这个类的方法来进行验证,重用性提高。 MVC,将界面、处理、数据源分开 MVC是Model,View,Controller的缩写。 MVC是Application开发的设计模式,也就是大家所知道的Model2.在MVC的设计模式中,它包括三类对象: (1)模型(Model)对象:是应用程序的主体部分。(2)视图(View)对象:是应用程序中负责生成用户界面的部分。 (3)控制器(Control)对象:是根据用户的输入, 控制用户界面数据显示及更新Model对象状态的部分。即要求在Application开发中你把商业逻辑,界面显示,数据分离。 MVC结构图 图书馆系统的MVC结构 MVC让图书馆系统的结构变得清晰起来。 但与此同时,我们发现,在图书管理系统的用例中, 有很多都是需要通过访问数据库来进行实现的。如果用户不使用原有的数据库了,使用新的数据库时,程序代码要改动的地方就太多了。怎么办? 有没有什么好的设计模式可以让数据库访问变的可重用,可维护,可扩展呢? 知识要点4:DAO设计模式 DAO是Data Access Object的缩写。 数据访问:故名思义就是与数据库打交道。夹在业务逻辑与数据库资源中间。 DAO的功能: 1. 封装Data Source(数据源) 例如:Connection conn = DriverMananger.getConnection()就可以把Driver,URL,username,passpword这一些放在DAO中。 如果在维护中,需要更改数据库的类型,例如把MSSQL换成Oracle的话,只需要更改DAO里面的getConnection()里面的Driver,URL即可。 2. 封装对数据库的操作(例如最基本的增、删、改、查操作) 例如:要插入一个新的用户,那么在DAO中我们只需要提供一个insertUser(User user)这一个方法就可以了。具体的操作是在DAO中实现的。 在业务逻辑程序中调用DAO的时候.我们只要知道insertUser(User)是用来插入一个新的用户,而不需要知道是如何实现的。 完成工作任务——图书管理系统的体系结构设计 包设计 com.lms.ui包中存放界面类 cess包中存放业务逻辑处理 com.lms.dao包中存放数据访问包 类设计——主要是DAO实现类设计 com.lms.dao.base包 注意 类的设计相对比较复杂,对大家的要求是要能看懂设计图,理解设计原则。 在进行编码时,能够按照所给的类图实现编码。 6.3.1 包的名字 和其他建模的元素一样,每个包都必须有一

文档评论(0)

bokegood + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档