第11章面向对象的设计.pptVIP

  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文档。上传文档
查看更多
chapter__10 * chapter__10 * GUI 工程师的工作并不是从设计阶段才开始的,早在需求分析阶段,GUI工程师就已经参与到用户访谈中,了解用户的使用习惯,喜好等,为设计用户界面做准备…… chapter__10 * 先看一个例子 对比同一界面的以下两种不同设计,然后说出哪种要好一些? chapter__10 * chapter__10 * chapter__10 * 关注用户及其任务,而不是技术 对人的理解 程序必须反映用户的视角和行为。 要充分理解用户开发者首先要理解人。 人类通过辨别比通过记忆学习起来更容易。要经常试着提供一个数据列表给用户,而非让用户凭记忆自己输入数据。普通人能记住2000到3000单词,但却可以认出50000单词。 chapter__10 * * * * chapter__10 * 根据领域类图,可以进行数据库设计 设计原则: 每一个类成为一个数据库表。 关系映射: 一对多的关系映射为数据库表的主外键关联(1方的主键加入n方成为外键) 一对一的关系映射为数据库表的主外键关联(1方的 主键加入另一方成为外键) 多对多的关系映射:产生第三张表,将两个多方的主键加入其中成为外键,两个外键的组合成为主键。 利用数据库三范式检查表,从而考察领域类图的分析是否合理,消除冗余数据。 chapter__10 * 图书管理系统数据库设计 chapter__10 * 编写表结构说明 字段名 数据类型 长度(精度) 是否为空 键说明 借阅时间 varchar 255 否 归还时间 varchar 255 否 借阅信息_ID int 4 否 主键 学生_ID int 4 否 外键 图书_ID int 4 否 外键 表:借阅信息 chapter__10 * 工作任务3:完成领域类图到系统类图的设计 chapter__10 * 第一个任务就是“为对象添加方法”,领域模型的对象是没有方法的,但最终的实现肯定是有方法的。 第二个任务是“围绕领域对象设计出非领域对象”。 第三个任务就是“应用设计模式、设计原则”。 chapter__10 * 为领域类图添加方法 chapter__10 * 此类映射借阅信息表 chapter__10 * 此类映射图书表 chapter__10 * 此类映射学生表 chapter__10 * 围绕领域对象设计出非领域对象 chapter__10 * 围绕领域对象设计出非领域对象 chapter__10 * com.lms.ui包中存放界面类 chapter__10 * com.lms.process包中存放业务逻辑处理 chapter__10 * “应用设计模式、设计原则”寻找和优化设计类 应用设计模式、设计原则,又会添加一批新的对象,接口、父子类 设计原则是指导思想,让你知道Why ;设计模式让你知道How。 chapter__10 * 理论在实际中的运用——设计模式 设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。 提高代码复用 提高可维护性 按照良好的设计原则进行设计 ? ? 使用设计模式 chapter__10 * 知识要点:MVC设计模式 先看一下图书管理系统的登录 登录的状态图 chapter__10 * 验证通过 验证未通过 chapter__10 * 一种设计: 将用户名和密码的验证,放在登录界面的“进入系统”按钮中进行。 chapter__10 * 第一种设计存在的问题: 问题1:扩展性差。目前这个系统只有一个图书馆工作人员使用,因此用户名和密码都是admin,这样验证可行,但是如果以后维护期间,需要增加工作人员或者增加学生、教师等使用角色,系统的扩展性就受到了限制。 问题2:重用性不好。并且不同的角色需要写入不同的验证过程,不能重用。 问题3:界面人员还要考虑算法和逻辑。使界面变得不单一。 如何解决? chapter__10 * 另一种设计: 新增加一个类UserLoginProcess,该类中有一个方法public boolean login_check(String uname,String upsw),此方法用来进行验证,如果验证通过则返回true给登录界面,否则返回false。 chapter__10 * 用户验证处理类 登录界面中,对用户验证处理类的使用 chapter__10 * 第2种设计给我们带来什么好处? 1.良好的封装,将界面和验证逻辑分开,系统结构更清晰。界面人员不用管验证的细节,只需要判断返回值是true还是false即可作出相应的显示操作。 2. UserLoginProcess类还可以提供其他验证操作,包括链接数据库的操作,为系统扩展性提供了接口。 3

文档评论(0)

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

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

1亿VIP精品文档

相关文档