当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

南京大学:《面向对象技术 OOT》课程教学资源(PPT课件讲稿)设计模式 Design Patterns(1)

资源类别:文库,文档格式:PPT,文档页数:88,文件大小:1.8MB,团购合买
 Agile Design  design principles  Design Patterns  Why, What, How  Creational, Structural and Behavioral Patterns
点击下载完整版文档(PPT)

Design Pattern (1) 设计模式(1) Institute of Computer Software 2021/2/5 Nanjing University

设计模式(1) Design Pattern (1) 2021/2/5 Institute of Computer Software Nanjing University 1

最病 过摘要 2 口 Agile Design a design principles 口 Design Patterns a Why What, How a Creational structural and behavioral patterns Institute of Computer Software 2021/2/5 Nanjing University

摘要  Agile Design  design principles  Design Patterns  Why, What, How  Creational, Structural and Behavioral Patterns 2021/2/5 Institute of Computer Software Nanjing University 2

最病 A Design Principles 口SRP单一职责原则 口OCP开放-封闭原则 口 LSP Liskov(里氏)替换原则 口DP依赖倒置原则 口|SP接口隔离原则 D CARP(Composition/ Aggregation Reuse Principle 合成/聚合复用原则 LoD( Law of demeter)迪米特法则 Institute of Computer Software 2021/2/5 Nanjing University

Design Principles  SRP 单一职责原则  OCP 开放-封闭原则  LSP Liskov(里氏)替换原则  DIP 依赖倒置原则  ISP 接口隔离原则  CARP (Composition/Aggregation Reuse Principle ) 合成/聚合复用原则  LoD (Law of Demeter) 迪米特法则 2021/2/5 Institute of Computer Software Nanjing University 3

最病 E CARP 口 Composition(合成)s. Aggregation(聚合) 口聚合表示“拥有”关系或者整体与部分的关系 口合成是一种强得多的“拥有”关系——部分和整体 的生命周期是一样的。 口换句话说:合成是值的聚合( Aggregation by Value),而一般说的聚合是引用的聚合 (Aggregation by Reference) Institute of Computer Software 2021/2/5 Nanjing University

CARP  Composition(合成) vs. Aggregation(聚合)  聚合表示“拥有”关系或者整体与部分的关系  合成是一种强得多的“拥有”关系——部分和整体 的生命周期是一样的。  换句话说:合成是值的聚合(Aggregation by Value),而一般说的聚合是引用的聚合 (Aggregation by Reference) 2021/2/5 Institute of Computer Software Nanjing University 4

复用 5 口复用的基本种类 口合成/聚合复用:将已有对象纳入到新对象中,使 之成为新对象的一部分 继承 Institute of Computer Software 2021/2/5 Nanjing University

复用  复用的基本种类  合成/聚合复用:将已有对象纳入到新对象中,使 之成为新对象的一部分。  继承 2021/2/5 Institute of Computer Software Nanjing University 5

复用 6 口继承的优点 口新类易实现 口易修改或扩展 口继承的缺点: 口继承复用破环包装,白箱复用 口超类发生变化,子类不得不改变 口继承的实现是静态的,不能在运行时改变 Institute of Computer Software 2021/2/5 Nanjing University

复用  继承的优点:  新类易实现  易修改或扩展  继承的缺点:  继承复用破环包装,白箱复用.  超类发生变化,子类不得不改变.  继承的实现是静态的,不能在运行时改变. 2021/2/5 Institute of Computer Software Nanjing University 6

复用 7 口合成/聚合的优点 口新对象存取成分对象的唯一方法是通过成分对象的接口。 口黑箱复用,因为成分对象的内部细节是新对象所看不见的。 口支持包装。 口所需的依赖较少。 口每一个新的类可以将焦点集中在一个任务上。 口这种复用可以在运行时间内动态进行,新对象可以动态的引用与 成分对象类型相同的对象。 口作为复用手段可以应用到几乎任何环境中去 口缺点:系统中会有较多的对象需要管理 Institute of Computer Software 2021/2/5 Nanjing University

复用  合成/聚合的优点  新对象存取成分对象的唯一方法是通过成分对象的接口。  黑箱复用,因为成分对象的内部细节是新对象所看不见的。  支持包装。  所需的依赖较少。  每一个新的类可以将焦点集中在一个任务上。  这种复用可以在运行时间内动态进行,新对象可以动态的引用与 成分对象类型相同的对象。  作为复用手段可以应用到几乎任何环境中去。  缺点:系统中会有较多的对象需要管理 2021/2/5 Institute of Computer Software Nanjing University 7

复用 口优先使用对象合成/聚合,而不是继承 口利用合成/聚合可以在运行时动态配置组件的功 能,并防止类层次规模的爆炸性增长 口区分HASA和SA Institute of Computer Software 2021/2/5 Nanjing University

复用  优先使用对象合成/聚合,而不是继承  利用合成/聚合可以在运行时动态配置组件的功 能,并防止类层次规模的爆炸性增长  区分HAS-A 和 IS-A 2021/2/5 Institute of Computer Software Nanjing University 8

复用 口Cod法则:什么时候使用继承作为复用的工具 口只有当以下Cod条件都满足时才应当使用继承 口子类是超类的一个特殊种类,而不是超类的一个角色,也就是区 分“HaS-A和“A”。只有“s-A关系才符合继承关系,“Has-A” 关系应当用聚合来描述。 口永远不会出现需要将子类换成另外一个类的子类的情况。如果不 能肯定将来是否会变成另外一个子类的话,就不要使用继承 子类具有扩展超类的责任,而不是具有置换调( override)或注销 掉(№U|fy)超类的责任。如果一个子类需要大量的置换掉超类的 行为,那么这个类就不应该是这个超类的子类 口只有在分类学角度上有意义时,才可以使用继承。不要从工具类 继承。 Institute of Computer Software 2021/2/5 Nanjing University

复用  Coad法则:什么时候使用继承作为复用的工具  只有当以下Coad条件都满足时才应当使用继承  子类是超类的一个特殊种类,而不是超类的一个角色,也就是区 分“Has-A”和“Is-A”。只有“Is-A”关系才符合继承关系,“Has-A” 关系应当用聚合来描述。  永远不会出现需要将子类换成另外一个类的子类的情况。如果不 能肯定将来是否会变成另外一个子类的话,就不要使用继承。  子类具有扩展超类的责任,而不是具有置换调(override)或注销 掉(Nullify)超类的责任。如果一个子类需要大量的置换掉超类的 行为,那么这个类就不应该是这个超类的子类。  只有在分类学角度上有意义时,才可以使用继承。不要从工具类 继承。 2021/2/5 Institute of Computer Software Nanjing University 9

最病 A LoD 口别名: Least Knowledge Principle最少知识原则 口表述 口只与你直接的朋友们通信 Only talk to your immediate friends 口不要跟陌生人说话 Don's talk to strangers 口每一个软件单位对其他的单位都只有最少的知识,而且局限 于那些与本单位密切相关的软件单位。 Institute of Computer Software 2021/2/5 Nanjing University

LoD  别名:Least Knowledge Principle 最少知识原则  表述:  只与你直接的朋友们通信 Only talk to your immediate friends  不要跟陌生人说话 Don's talk to strangers  每一个软件单位对其他的单位都只有最少的知识,而且局限 于那些与本单位密切相关的软件单位。 2021/2/5 Institute of Computer Software Nanjing University 10

点击下载完整版文档(PPT)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共88页,可试读20页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有