5面向对象分析和设计课案.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 设计要点: 对接口进行设计 发现变化并且封装它 先考虑聚合然后考虑继承 高内聚、低耦合 类内聚——设计类的原则是一个类的属性和操作全部都是完成某个任务所必须的,其中不包括无用的属性和操作。 应该通过类的公共接口实现耦合,不应该依赖于类的具体实现细节。 在设计时应该尽量减少对象之间发送的消息数和消息中的参数个数,降低消息连接的复杂程度。 设计时应该适当使用继承耦合 可重用性 重用性有两个方面的含义: 尽量使用已有的类,包括开发环境提供的类库和已有的相似的类; 如果确实需要创建新类,则在设计这些新类时考虑将来的可重用性。 设计一个可重用的软件比设计一个普通软件的代价要高,但是随着这些软件被重用次数的增加,分摊到它的设计和实现成本就会降低。 框架 框架是一组可用于不同应用的类的集合。 例如,Java应用程序接口(API)就是一个成功的框架包,为众多的应用提供服务。 一般不会直接去修改框架的类,而是通过继承等为应用创建合适的类。 软件架构和软件框架有何区别? 软件架构和软件框架有何区别? 软件框架是一特殊的软件,由实际的代码构建而成,是软件系统、子系统的半成品。 软件框架为具体的解决方案提供了基础,提供了基础服务和可扩展点,同时也建立了一些约束,开发人员在此基础上进行特定业务功能的定制开发。 例如,在J2EE企业级应用程序开发中,经常使用struts+spring+hibernate来搭建一个基本的项目结构。 软件架构决定了软件系统如何划分,在一定程度上描述了被划分的各个部分之间的静态、动态关系。软件架构的决策体现在软件系统的框架中。 7.2 构架设计(参见P220) 构架设计的目的是要勾画出系统的总体结构,这项工作由经验丰富的构架设计师主持完成。 该活动以用例模型、分析模型为输入。 输出:物理结构、子系统及其接口、概要的设计类。 设计模式 所谓Pattern就是一种规则,或是一种模型,或是一种习惯。Pattern这个东西到处都是,并不只有技术圏子里才有。 比如:诗歌总是抒情的,论文总是死板的,讲稿总是高谈的,漫画总是幽默的,…… 经济领域:温州模式,电商的商业模式等 设计模式 软件设计模式 每种模式解决一种特定问题 设计模式并不是只在OO中独有 理解每种模式的意图,适用的场景,使用的限制 参考P209 面向对象类设计原则 可参见P209 1. 开闭原则(Open Closed Principle)简称OCP 在扩展性方面是开放的,而对内部的更改应该是封闭的(外部看不到)。 因此在进行面向对象设计时要尽量考虑接口封装机制、抽象机制和多态技术。 老式收音机 旋钮式收音机 按键式收音机 问题描述:开关、调台、音量 不同收音机,实现的细节不同 处理方式: 用一个类来处理各种不同类型收音机的操作方式 定义一个接口类,提供开机、关机、增加频率、降低频率、增加音量、降低音量这六个抽象方法。不同的收音机继承并实现这六个抽象方法。 点评: 前者要新增一中收音机的控制方式时,需要整个程序都读一遍,整体的修改; 后者新增收音机类型不会影响其它原有的收音机类型,收音机类型扩展极为方便。已存在的收音机类型在修改其操作方法时也不会影响到其它类型的收音机。 设计的收音机处理软件类图 2. 替换原则 (Liskov Substitution Principle)简称LSP 子类可以替换父类,并可以出现在父类能够出现的任何地方。 圆形—子类 椭圆—父类 运用替换原则时,应该尽量把类B设计为抽象类或者接口类,让C类继承B,并实现操作A和操作B。 运行时,类C实例替换B,这样即可进行新类的扩展,同时无须对类A进行修改。 3. 依赖原则(Dependency Inversion Principle)简称DIP。 类之间的依赖关系尽量依赖接口和抽象类,不要依赖于具体类(具体类只负责相关业务的实现) 修改具体类不影响上层的抽象类。 4. 单一职责原则(Single Responsibility Principle)简称为SRP。 一个类应该有且仅有一个职责。 5. 接口分离原则(Interface Segregation Principle)简称ISP。 采用多个与特定客户类的接口比采用一个通用的、涵盖多个业务方法的接口要好。 一个为多个客户提供服务的类,通过一个巨大的接口来服务于所有的客户。 当针对客户A的方法发生改变,客户B和客户C就可能受到影响,并且需要进行重新编译和发布,这是一种不良的设计! 面向对象设计的三句经典名言 对接口进行设计 发现变化并且封装它 先考虑组合然后考虑继承。 课后作业(需提交) 结构化方法和面向对象方法有何不同? 下节课在实验室上课 面向对象方法通过封装、继承、多态把程序的耦合度降低,使程序更加灵活、易修改、易复用。 * 交

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档