- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
设计模式复习提纲
第一章
1.状态图的定义
状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。
第二章
1.软件的可维护性和可复用性(?)
软件可维护性,即维护人员对该软件进行维护的难易程度 , 具体包括理解、改正、改动和
改进该软件的难易程度。
可复用性:复用又叫重用,是重复使用的意思。
2.面向对象设计原则
(1)单一职责原则
(2 )开闭原则
(3 )里氏代换原则
(4 )依赖倒转原则
(5 )接口隔离原则
(6 )合成复用原则
(7 )迪米特法则
3.单一职责原则定义
单一职责原则定义: 一个对象应该只包含单一的职责, 并且该职责被完整地封装在一个类
中。
另一种定义:就一个类而言,应该仅有一个引起它变化的原因。
4.开闭原则定义
开闭原则定义:一个软件实体应当对扩展开放,对修改关闭。
5.里氏代换原则定义
里氏代换原则有两种定义方式。
第一种定义方式相对严格,其定义如下:
如果对每一个类型为 S 的对象 o1 ,都有类型为 T 的对象 o2,使得以 T 定义的所有程序 P
在所有的对象 o1 都代换成 o2 时,程序 P 的行为没有变化,那么类型 S 是类型 T 的子类型。
第二种更容易理解的定义方式如下:
所有引用基类(父类)的地方必须能透明地使用其子类的对象。
6.依赖倒转原则定义
依赖倒转原则定义: 高层模块不应该依赖低层模块, 它们都应该依赖抽象。 抽象不应该依
赖于细节,细节应该依赖于抽象。
另一种表述为:要针对接口编程,不要针对实现编程。
7.接口隔离原则定义
接口隔离原则定义: 客户端不应该依赖那些它不需要的接口。 注意: 在该定义中的接口指
的是所定义的方法。
另一种定义方法: 一旦一个接口太大, 则需要将它分割成一些更细小的接口, 使用该接口
的客户端仅需知道与之相关的方法即可。
8.合成复用原则定义
合成复用原则,又称为组合 / 聚合复用原则,其定义如下:尽量使用对象组合,而不是继
承来达到复用的目的。
9.迪米特法则定义
迪米特法则,又称为最少知识原则,它有多种定义方法,其中几种典型定义如下:
(1) 不要和“陌生人”说话。
(2) 只与你的直接朋友通信。
(3) 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的
软件单位。
第三章
1.模式的定义
每个模式都描述了一个在我们的环境中不断出现的问题, 然后描述了该问题的解决方案的
核心,通过这种方式, 我们可以无数次地重用那些已有的解决方案, 无需再重复相同的工作。
可以用一句话简单表示为: 模式是在特定环境中解决问题的一种方案。
2.设计模式的定义
设计模式是一套被反复使用、 多数人知晓的、经过分类编目的、 代码设计经验的总结,使
用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。
3.设计模式的基本要素
设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码
和相关设计模式,其中的关键元素包括以下四个方面:模式名称、问题、解决方案、效果。
4.设计模式的分类
(1)根据其目的(模式是用来做什么的)可分为创建型、结构型和行为型三种:
①创建型模式主要用于创建对象。
②结构型模式主要用于处理类或对象的组合。
③行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。
(2 )根据范围,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为类模
式和对象模式两种:
①类模式处理类和子类之间的关系, 这些关系通过继承建立, 在编译时刻就被确定下来,
是属于静态的。
②对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。
5.GoF 设计模
文档评论(0)