设计模式复习提纲讲述.doc

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

设计模式复习提纲 第一章 状态图的定义 状态图用来描述一个特定对象的所有可能状态及其引起状态转移的事件。 第二章 软件的可维护性和可复用性(?) 软件可维护性,即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。 可复用性:复用又叫重用,是重复使用的意思。 面向对象设计原则 单一职责原则 开闭原则 里氏代换原则 依赖倒转原则 接口隔离原则 合成复用原则 迪米特法则 3.单一职责原则定义 单一职责原则定义:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。 另一种定义:就一个类而言,应该仅有一个引起它变化的原因。 4.开闭原则定义 开闭原则定义:一个软件实体应当对扩展开放,对修改关闭。 5.里氏代换原则定义 里氏代换原则有两种定义方式。 第一种定义方式相对严格,其定义如下: 如果对每一个类型为S的对象o1,都有类型为T的对象o2,使得以T定义的所有程序P在所有的对象o1都代换成o2时,程序P的行为没有变化,那么类型S是类型T的子类型。 第二种更容易理解的定义方式如下: 所有引用基类(父类)的地方必须能透明地使用其子类的对象。 6.依赖倒转原则定义 依赖倒转原则定义:高层模块不应该依赖低层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。 另一种表述为:要针对接口编程,不要针对实现编程。 7.接口隔离原则定义 接口隔离原则定义:客户端不应该依赖那些它不需要的接口。注意:在该定义中的接口指的是所定义的方法。 另一种定义方法:一旦一个接口太大,则需要将它分割成一些更细小的接口,使用该接口的客户端仅需知道与之相关的方法即可。 8.合成复用原则定义 合成复用原则,又称为组合/聚合复用原则,其定义如下:尽量使用对象组合,而不是继承来达到复用的目的。 9.迪米特法则定义 迪米特法则,又称为最少知识原则,它有多种定义方法,其中几种典型定义如下: 不要和“陌生人”说话。 只与你的直接朋友通信。 每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。 第三章 模式的定义 每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心,通过这种方式,我们可以无数次地重用那些已有的解决方案,无需再重复相同的工作。可以用一句话简单表示为: 模式是在特定环境中解决问题的一种方案。 设计模式的定义 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结,使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 设计模式的基本要素 设计模式一般有如下几个基本要素:模式名称、问题、目的、解决方案、效果、实例代码和相关设计模式,其中的关键元素包括以下四个方面:模式名称、问题、解决方案、效果。 设计模式的分类 (1)根据其目的(模式是用来做什么的)可分为创建型、结构型和行为型三种: ①创建型模式主要用于创建对象。 ②结构型模式主要用于处理类或对象的组合。 ③行为型模式主要用于描述对类或对象怎样交互和怎样分配职责。 (2)根据范围,即模式主要是用于处理类之间关系还是处理对象之间的关系,可分为类模式和对象模式两种: ①类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来,是属于静态的。 ②对象模式处理对象间的关系,这些关系在运行时刻变化,更具动态性。 GoF设计模式简介 GoF 最先将模式的概念引入软件工程领域,他们归纳发表了23种在软件开发中使用频率较高的设计模式,旨在用模式来统一沟通面向对象方法在分析、设计和实现间的鸿沟。 设计模式的优点 设计模式是从许多优秀的软件系统中总结出的成功的、能够实现可维护性复用的设计方案,使用这些方案将避免我们做一些重复性的工作,而且可以设计出高质量的软件系统。设计模式的主要优点如下: (1)设计模式融合了众多专家的经验,并以一种标准的形式供广大开发人员所用,它提供了一套通用的设计词汇和一种通用的语言以方便开发人员之间沟通和交流,使得设计方案更加通俗易懂。对于使用不同编程语言的开发和设计人员可以通过设计模式来交流系统设计方案,每一个模式都对应一个标准的解决方案,设计模式可以降低开发人员理解系统的复杂度。 (2)设计模式使人们可以更加简单方便地复用成功的设计和体系结构,将已证实的技术表述成设计模式也会使新系统开发者更加容易理解其设计思路。设计模式使得重用成功的设计更加容易,并避免那些导致不可重用的设计方案。 (3)设计模式使得设计方案更加灵活,且易于修改。 (4)设计

文档评论(0)

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

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

1亿VIP精品文档

相关文档