- 11
- 0
- 约6.32千字
- 约 46页
- 2019-10-29 发布于上海
- 举报
周宇南京航空航天大学.ppt
* LSP本质:在同一个继承体系中的对象应该有共同的行为特征 例子:企鹅是鸟吗? 生物学:企鹅属于鸟类 LSP原则:企鹅不属于鸟类,因为企鹅不会“飞” 违反LSP的后果:有可能需要修改客户代码 Liskov替换原则(LSP)的本质 Liskov替换原则(LSP)的实现途径 接口隔离原则(ISP) 多个和客户相关的接口要好于一个通用接口 如果一个类有几个使用者,与其让这个类载入所有使用者需要使用的所有方法,还不如为每个使用者创建一个特定接口,并让该类分别实现这些接口 解决”胖接口”问题 接口隔离原则(ISP)-- 示例 依赖倒置原则(DIP) 定义:高层模块不应依赖低层模块,二者都应该依赖于抽象 高层模块只应该包含重要的业务模型和策略选择,低层模块则是不同业务和策略的实现 高层抽象不依赖高层和低层模块的具体实现,最多只依赖于低层的抽象 低层抽象和实现也只依赖于高层抽象 辅助原则 变量尽量不持有一个指向具体类的引用,而是接口或者抽象类 任何方法尽量不覆盖其任何基类中已经实现了的方法 结合里氏替换原则使用? 依赖倒置原则(DIP)的实现途径 依赖倒置原则(DIP)示例 实现开闭原则的重要途径 划分标准:目的 创建型: 创建对象 结构型: 处理类或者对象的组合 行为型: 类或者对象如何交互和分配职责 NUAA CIST 南京航空航天大学计算机科学与技术学院 黄志球 * 创建型 AbstractFactory Builder FactoryMethod Prototype Singleton 结构型 Adapter Bridge Composite Decorator Facade Flyweight Proxy 行为型 Chain of Responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template Method Visitor Incomplete Coverage ! 模式名称(Pattern Name) 问题(Problem):描述应该在何时使用模式。解释了设计问题和问题存在的前因后果,可能还描述模式必须满足的先决条件 解决方案(Solution):描述了设计的组成成分、相互关系及各自的职责和协作方式。模式就像一个模板,可应用于多种场合,所以解决方案并不描述一个具体的设计或实现,而是提供设计问题的抽象描述和解决问题所采用的元素组合(类和对象) 效果(consequences ):描述模式的应用效果及使用模式应权衡的问题 模式的基本要素 模式名和分类 意图:设计模式是做什么的?它的基本原理和意图是什么?它解决的是什么样的特定设计问题? 动机:说明一个设计问题以及如何用模式中的类、对象来解决该问题的特定情景 适用性:什么情况下可以使用该设计模式?该模式可用来改进哪些不良设计?如何识别这些情况? 结构:采用对象建模技术对模式中的类进行图形描述 如何描述设计模式 参与者:指设计模式中的类 和/或 对象以及它们各自的职责 协作:模式的参与者如何协作以实现其职责 效果:模式如何支持其目标?使用模式的效果和所需做的权衡取舍?系统结构的哪些方面可以独立改变? 实现:实现模式时需了解的一些提示、技术要点及应避免的缺陷,以及是否存在某些特定于实现语言的问题 代码示例:用来说明怎样实现该模式的代码片段 相关模式:与这个模式紧密相关的模式有哪些?其不同之处是什么?这个模式应与哪些其他模式一起使用? 描述设计模式(续) 用来创建对象的模式,抽象了实例化过程 工厂方法模式:父类负责定义创建对象的公共接口,而子类则负责生成具体对象,将类的实例化操作延迟到子类中完成 抽象工厂模式:为一个产品族提供统一的创建接口。当需要这个产品族的某一系列的时候,可以从抽象工厂中选出相应的系列创建一个具体的工厂类 单件(Singleton)模式:保证一个类有且仅有一个实例,提供一个全局访问点 创建型设计模式 创建型设计模式 (2) 生成器(Builder)模式:将复杂对象创建与表示分离,同样的创建过程可创建不同的表示。允许用户通过指定复杂对象类型和内容来创建对象,用户不需要知道对象内部的具体构建细节 原型(Prototype)模式:通过“复制”一个已经存在的实例来返回新的实例(不新建实例)。被复制的实例就是“原型”,这个原型是可定制的。原型模式多用于创建复杂的或者耗时的实例,因为这种情况下,复制一个已经存在的实例使程序运行更高效;或者创建值相等,只是命名不一样的同类数据 结构型模式讨论的是类和对象的结构,它采用继承机制来组合接口或实现(类结构型模式),或者通过组合一些对象来实现新的功能(对象结构型
您可能关注的文档
- 叉车安全管理制度(作业指导书)1、目的本作业指导书规定了公司叉车作业需遵守的规定,确保叉车驾驶和使用安.pdf
- 叉车检修维护技术协议包钢稀土钢板材厂年月目录.docx
- 双向转诊工作制度.docx
- 双峰县易地扶贫搬迁政策摘要.docx
- 双峰县疾病预防控制中心2017年专业技术人员招聘公告.doc
- 双林职业技术学校学生实习手册宁海县双林职业学校学生实习手册二零一六年九月学生实习流程.doc
- 双桥区环境卫生管理局2017年度全年工作总结及2018年工作计划.doc
- 双流区名教师巫小芳工作室个人年度研修计划双流区胜利幼儿园胡佳英.docx
- 双绞线的制作本课重点-学会制作双绞线的直连与交叉互连方法本课难点-双绞线的交叉互连方法.ppt
- 发动机电控点火系统检修与实训任务三-本田、丰田、检修案例实训四-发动机点火控制系统.ppt
- 和创金服招聘简介.pdf
- 咨询专家类型-机构或个人firmorindividualtotalpzx-xjqg-.pdf
- 咪咕+平台渠道系统使用手册.docx
- 咸阳市整顿和规范建筑市场中介服务行为专项行动工作方案为进一步加强建筑市场中介机构管理,进一步整顿规范全市.pdf
- 品牌农业与微电商目录引入1国内农产品现状2如何打造品牌农业3传统企业电商布局的误区.ppt
- 品质生活到永远正商地产2017届新升力2018届实习生校园招聘.doc
- 品质生活到永远正商集团2017届新升力2018届实习生校园招聘.doc
- 哈尔滨商业大学+西澳大学3+2项目招生以及赴澳流程表-大三学生加速申请流程项目各阶段流程以及清单-.docx
- 哈尔滨商业大学计算机与信息工程学院2018年硕士研究生调剂公告1、学院简介.docx
- 哈尔滨工业大学离退休先进集体和先进个人评选行权公示职权名称离退休先进集体和先进个人评选.docx
最近下载
- 2023年山西晋中中考数学真题及答案.pdf VIP
- 南京信息工程大学艺术类创作作品转换科研成果办法修订.docx VIP
- 日本横河WT210230说明书.pdf VIP
- AE-5M-3040GC5035CSPdatasheetre(1)_电子版高清文档.pdf VIP
- 个人优势与劣势分析.pptx VIP
- 通力GFS25载货电梯调试培训.pdf
- 在美国课税与申报目的下之最终受益人身分证明一法人.PDF VIP
- 山东省实验中学2024-2025学年高二上学期1月期末数学试题(含答案解析).docx
- 专题04 《物态变化》压轴培优题型训练【十三大题型】(解析版)2023-2024学年八年级上册《物理》培优专题训练(人教版).docx VIP
- 柱体绕流阻力理论研究和数值模拟.docx VIP
原创力文档

文档评论(0)