- 1、本文档共60页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Robert C. Martin是Object Mentor公司总裁,面向对象设计、模式、UML、敏捷方法学和极限编程领域内的资深顾问。 TogetherSoft公司总裁,Color UML 和 FDD 的创始人。 这些设计原则首先都是复用的原则 * Jolt 震撼奖(“软件业之奥斯卡”) Jolt 震撼奖 * 1995年《Design Patterns: Elements of Reusable Object-Oriented Software》 * 模式有助于我们利用熟练的软件工程师的集体经验来构建软件。它们捕捉软件开发中现存的、充分考虑的经验,再用于促进好的设计实践。每个模式处理一个软件系统的设计或实现其中一种特殊的重复出现的问题。 * 依赖倒转原则 依赖倒转原则分析 依赖倒转原则的常用实现方式之一是在代码中使用抽象类,而将具体类放在配置文件中。 “将抽象放进代码,将细节放进元数据” Put Abstractions in Code, Details in Metadata (《程序员修炼之道:从小工到专家》(The Pragmatic programmer: from journeyman to master) ) 依赖倒转原则 依赖倒转原则分析 类之间的耦合 零耦合关系 具体耦合关系 抽象耦合关系 依赖倒转原则要求客户端依赖于抽象耦合,以抽象方式耦合是依赖倒转原则的关键。 依赖倒转原则 依赖倒转原则分析 依赖注入 构造注入(Constructor Injection):通过构造函数注入实例变量。 设值注入(Setter Injection):通过Setter方法注入实例变量。 接口注入(Interface Injection):通过接口方法注入实例变量。 接口隔离原则 接口隔离原则定义 接口隔离原则(Interface Segregation Principle, ISP)的定义如下: 客户端不应该依赖那些它不需要的接口。 其英文定义为: Clients should not be forced to depend upon interfaces that they do not use. 注意,在该定义中的接口指的是所定义的方法。 另一种定义方法如下: 一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。 其英文定义为: Once an interface has gotten too fat it needs to be split into smaller and more specific interfaces so that any clients of the interface will only know about the methods that pertain to them. 合成复用原则 合成复用原则定义 合成复用原则(Composite Reuse Principle, CRP)又称为组合/聚合复用原则(Composition/ Aggregate Reuse Principle, CARP),其定义如下: 尽量使用对象组合,而不是继承来达到复用的目的。 其英文定义为: Favor composition of objects over inheritance as a reuse mechanism. 合成复用原则 合成复用原则分析 合成复用原则就是指在一个新的对象里通过关联关系(包括组合关系和聚合关系)来使用一些已有的对象,使之成为新对象的一部分;新对象通过委派调用已有对象的方法达到复用其已有功能的目的。简言之:要尽量使用组合/聚合关系,少用继承。 迪米特法则 迪米特法则定义 迪米特法则(Law of Demeter, LoD)又称为最少知识原则(Least Knowledge Principle, LKP),它有多种定义方法,其中几种典型定义如下: (1) 不要和“陌生人”说话。英文定义为:Dont talk to strangers. (2) 只与你的直接朋友通信。英文定义为:Talk only to your immediate friends. (3) 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。英文定义为:Each unit should have only limited knowledge about other units: only units closely related to the current unit. 迪米特法则 迪米特法则分析 迪米特法则来自于1987年秋美国东北大学(Northeastern Universi
您可能关注的文档
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(9).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(10).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(11).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第3章 集成运算放大器(12).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第4章 波形发生器电路(1).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第4章 波形发生器电路(2).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第4章 波形发生器电路(3).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第4章 波形发生器电路(4).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第4章 波形发生器电路(5).ppt
- 南华大学电气工程学院电子电路设计与仿真课件第4章 波形发生器电路(6).ppt
最近下载
- 广东省广州市黄埔区2019~2020学年七年级上学期期末语文试题(含答案解析).pdf VIP
- “新质生产力”系列(八):八大新兴产业及九大未来产业巡礼.pptx VIP
- 教师阅读讲座.ppt
- 2024年山东省政府采购判断题真题最新(2024年12月20日整理)第11套.docx VIP
- 外墙涂料工程检验批质量验收记录.doc VIP
- 辞旧迎新展望未来国旗下演讲稿PPT.pptx
- 2024年山东省政府采购判断题真题最新(2024年12月20日整理)第19套.pdf VIP
- 2024年1月上海市春季高考数学试卷试题真题(含答案详解).pdf
- 2024年山东省政府采购判断题真题最新(2024年12月20日整理)第9套.docx VIP
- 供应商加税点开票分析.xls VIP
文档评论(0)