Chap07 面向对象设计的的5大原则.ppt

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Chap07 面向对象设计的的5大原则

Chap07 面向对象设计的5大原则 导论 5大原则 开放-封闭原则 单一职责原则 接口隔离原则 Liskov替换原则 依赖倒置原则 开放-封闭原则是实现面向对象可复用设计的基础,其他的设计原则则是实现这一原则的手段和工具 导论 作用 帮助开发人员提供应用系统的可维护性和可复用性 可扩展性 开放-封闭原则、Liskov原则、依赖倒置原则 可重用性 开放-封闭原则、接口隔离原则 开放-封闭原则 具体内容:软件实体应该是可以扩展的,但是不可修改 开放:模块的行为必须是开发的,支持可扩展,而不是僵化的 封闭:对模块进行扩展时,不应该影响系统中已有模块的其他部分功能的实现代码。 即:开发者可以在不修改系统代码的前提下(包括不必改动模块的源代码或者二进制代码、模块的二进制可执行版本,或者可以链接的系统库、DLL或Java的.jar文件),就能对现有的软件系统进行扩展和升级 基本思想:不用修改原有类就能扩展一个类的行为 开放-封闭原则 如何能够满足开放-封闭原则 在设计类时就必须尽量考虑如何有效地应用接口封装、抽象和多态技术 手段:面向接口编程、利用模板方法模式 面向接口编程实现 例9-2(P275) 利用模板方法模式编程 模板方法中的模板类其实是一个抽象类 例9-3(P276) 单一职责原则 单一职责原则(Single-Responsibility Principle,SRP),要求应用系统中一个具体设计元素(类)只完成某一类功能(职责),尽量避免出现一个“复用”功能的类 应用单一职责原则的目的 减少类之间的耦合 单一职责原则是面向对象技术中的基本设计原则 合理地进行类的职责分配 示例一(P278) DAO 单一职责原则 示例二(P279) 技术背景:PO、数据访问逻辑组件、DBConnection 例9-6 例9-7 例9-8 示例二(P281) 例9-9 Liskov替换原则 继承机制=代码重用 什么是Liskov替换原则 1988年,Barbara Liskov首次提出 若对每个类型S的对象o1,都存在一个类型T的对象o2,使得在所有针对T编写的程序P中,用o1替换o2后,程序拍的行为功能不变,则S是T的子类型 核心思想:子类型必须能够替换它们的基类型,该原则能够知道设计人员正确地进行类的继承与派生 如何遵守Liskov替换原则 基本要求:派生类要与其子类自相容,也就是基本类中的抽象方法都要在子类中声明,并且一个具体的实现类应当只实现其接口和抽象类中声明的方法 Liskov替换原则 如何遵守Liskov替换原则 主要针对继承的设计原则 客户端只需要依赖于基类或其接口 示例 例9-10 Liskov替换原则能够指导软件设计人员正确地进行继承关系的设计 继承是面向对象编程技术中一个很重要的手段,也是类之间很常见的关系之一 如果类之间的继承关系满足Liskov替换原则,则能够实现运行期绑定(动态多态) 实现接口或者继承某个抽象类来实现 接口隔离原则 什么是接口隔离原则 主要思想: 一个类对另外一个类的依赖关系应该是建立在最小接口上的 使用多个专用专门的接口比使用单一的复合总接口要优越 对接口的污染 设计人员为了节省接口数目,而经常将一些功能相近或功能相关的接口合并成一个总的接口 臃肿的大接口 示例 例9-12、13 如何遵守接口隔离原则 接口隔离原则 如何遵守接口隔离原则 设计接口的基本思路 将完成一类相关功能的各个方法放在同一个接口中,形成高内聚的职责 图9.3(P289) 遵守接口隔离原则示例 图9.4 图9.5 依赖倒置原则 面向过程——自顶向下,逐步求精 什么是依赖倒置原则(Dependence inversion Principle,DIP) 应用系统中的高层模块不应依赖于低层模块,两者都依赖于抽象;抽象不应依赖于细节,实现细节应该依赖于抽象。 消除两个模块之间的依赖——接口 上层调用接口中方法,下层实现接口 如何满足依赖倒置原则 面向接口编程 依赖倒置原则 优点 通过接口隔离了“服务的提供者”和“服务的请求者” 复用、灵活性、易维护 示例9-14、15 为什么要遵守依赖倒置原则 抽象不应依赖于细节,细节应该依赖于抽象 依赖倒置原则主要解决如何正确地进行针对接口编程问题 如何更好地遵守依赖倒置原则 结合使用接口和抽象类(例9-19) Web应用系统持久层示例(P297) 小结 五大原则 开放-封闭原则 单一职责原则 接口隔离原则 Liskov替换原则 依赖倒置原则 面向接口编码 面向对象设计中强调的是软件的重用和重构、软件的可扩展性 * * *

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档