使用UML的面向对象分析和设计 (9)_第1页
使用UML的面向对象分析和设计 (9)_第2页
使用UML的面向对象分析和设计 (9)_第3页
使用UML的面向对象分析和设计 (9)_第4页
使用UML的面向对象分析和设计 (9)_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、在本单元中,您将学习:应用框架和模式(msh)来设计软件系统。 由设计模型生成代码。目标(mbio)共二十五页开发团队要注意重用现有的解决方案以减少开发时间和提高质量。 重用现有的解决方案包括重用现有的代码、组件、测试用例或者在相似的项目中已经(y jing)实现的概念。 框架和模式是使软件构件可重用的标准。 了解框架(kun ji)与模式共二十五页框架:定义特定领域中类似应用程序的通用功能。增加可重用性和减少应用程序开发时间。拥有 Microsoft VC+ 提供的 Microsoft 基础类(MFC)是框架的示例,它允许(ynx)您开发具有公共特征(如命令按钮)的图形用户界面。定义(dng

2、y)模式和框架共二十五页框架的特性包括:表示类或库的集合,使您能够执行特定的功能而不需要重新开发代码。包含实现接口以符合预定(ydng)义规范的抽象和具体类。 包含可通过子类化来扩展的类。定义一些抽象方法,这些方法接收来自预定义类的派生类中的消息。定义模式(msh)和框架(续)共二十五页模式:提供给定问题的标准解决方案的一组原则和指南。可让你创建能满足新需求的可重用的解决方案而无需修改(xigi)现有系统。 有助于软件组件之间更好的通信。 有助于设计的重用、提供最有效的问题解决方案、给类分配职责。 一般可分为以下类别:通用职责分配软件模式(GRASP)四人组模式 (GoF)。定义(dngy)模

3、式和框架(续)共二十五页GRASP 其实是一组模式,它提供分配对象职责的原则(yunz),如怎样创建对象、怎样撤消对象等。GRASP 由以下模式组成: 专家模式:提供了为包含相关信息的类分配职责的指南。 创建者模式:提供了为特定类的新对象分配职责的指南。 控制器模式:提供了处理系统事件的指南。专家模式提供用于向包含相关信息的类指派职责的指示信息。GRASP共二十五页根据创建者模式,如果以下条件为 true,那么类负责创建对象:一个类包含另一个类。 类记录(jl)其它类的实例。 类使用其它类的对象。 类提供初始化其它类的对象的信息。 依照控制器模式,处理系统事件的职责应分配给满足以下一个或多个条

4、件的类: 表示整个系统 表现为用例处理程序GRASP(续)共二十五页GoF 模式:基于open-close原则,即认为所有的设计都应对于扩展开发并且不允许修改。 有以下特性: 使您能重用现有的关于常见设计问题的解决方案。 建立问题及其解决方案的通用术语以便于理解。 大致(dzh)可分为三类:创建结构行为GoF 模式(msh)共二十五页创建型设计模式提供创建对象和管理对象生命周期的方法。 常用(chn yn)的创建型设计模式有:工厂生成器单一实例工厂模式:提供一个被称为factory的类,它控制抽象基类的子类对象的生存期。 在以下情况下需采用工厂模式: 无法预见运行时需要哪种类型对象。 当基类是

5、个抽象类时,模式必须返回一个已初始化的对象。创建(chungjin)型模式共二十五页生成器模式:把一个复杂对象的创建和构造(guzo)与它的表示分离。 使您可以对同一个复杂对象创建多个表示,并能灵活地修改对象的安排。 类似于抽象工厂方法,因为两者都创建对象族。 聚集或构造简单对象以表示一个复杂对象。创建(chungjin)型模式(续)共二十五页单例模式:允许创建它自身的一个(y )实例的类。当需要访问代表现实生活对象的单个对象(如打印机和鼠标)时,单件模式是有用的。用静态数据成员来定义单件模式,以跟踪所创建对象的生命期。创建(chungjin)型模式(续)共二十五页结构(jigu)型设计模式描

6、述如何使用对象组合来组合类和对象结合以形成更大的结构(jigu)。 最常用的结构型模式有:复合代理装饰模式外观模式结构(jigu)模式共二十五页复合模式:用于表示一种复合对象,它可进一步包含简单对象和复合对象。提供接口(ji ku)以访问复合对象内的复合对象和简单对象。 可把复合模式想象成一棵树,其中复合对象表示结点而简单对象表示树叶。结构型模式(msh)(续)共二十五页代理模式:用于把复合对象表示为一个简单对象。允许我们把对象创建推迟到需要(xyo)时才进行。装饰模式:使我们可以修改个别对象的行为而不必创建新的派生类。可用于为现有对象定义附加功能。 外观模式:通过提供单一化的接口来简化软件的

7、开发。 在实现分层架构时也很有用。结构型模式(msh)(续)共二十五页行为模式提供在对象间进行通信的指南。 最常用的行为模式有: 职责(zhz)链:描述各种类如何处理请求。每个类都包含逻辑,描述它可以处理的请求类型。它还描述如何将类无法处理的请求传递给其它类。 命令:描述如何将方法请求调用仅传递到特定模块。 观察者:使您能够创建单独的对象以显示各种形式的信息。行为(xngwi) 模式共二十五页可根据现实世界中的场景以及创建设计模式的开发人员的需求来对设计模式建模。对设计模式建模的各种视图包括: 外部视图:将设计模式的结构表示为参数化协作。 内部视图:将设计模式的结构表示为模式创建者(例如(lr

8、)开发人员)所见的结构。内部视图描述为不带参数的协作。对设计(shj) 模式建模共二十五页设计模式在分层应用程序中实现,它开发用于支持公司的业务(yw)运行。下表列出了设计模式,以及通常实现这些模式的层。 将模式与分层架构(ji u)关联 模式层外观模式业务层生成器业务层单一实例业务层复合表示层装饰表示层职责链业务层命令 业务层观察者 表示层共二十五页通过使用 CASE 工具(例如(lr) Rational Rose、Jude 和 Visio),您可以自动从类和通信关系图生成代码。CASE 工具使用不同的经验规则和启发式原则来从设计模型生成代码。您需要用 CASE 工具根据操作系统对生成的代码

9、进行优化。还可进行由代码到设计模型的逆向工程以测量代码修改后与设计模型的差异。将设计(shj)映射到代码 共二十五页CASE 工具,例如 Rational Rose 和 Visio:自动地从类和协作关系图生成代码。 支持逆向工程,即能根据(gnj)可能会在项目的实现和测试阶段修改的代码生成设计模型。 支持代码到设计模型的逆向工程以测量代码修改后与设计模型的差异。 在生成代码时,您需要侧重于类关系图和通信关系图,因为代码从类的方法和变量生成。从设计(shj)模型中生成代码 共二十五页重构设计: 在不改变类的外部行为的前提下重新构造现有代码的内部结构的技术。改变了类模型,但不改变系统的架构。可能进

10、行重构的因素有: 由于设计实现的平台原因在实现阶段需要标识一些(yxi)新方法。从通信关系图得出的方法在类关系图里没有表示出来。重构设计(shj)共二十五页会话外观是一种用于创建企业应用程序,如使用企业 Java Beans(EJB)的应用程序的设计模式。 在企业应用程序中,会话外观模式定义为高级业务组件,例如,会话 bean。 高级业务组件定义低级业务组件(例如企业 bean)之间的完整交互(jioh)。 会话外观相当于低级业务组件的接口。 它降低了低级业务组件之间的耦合度,使企业应用程序的设计变得可重用和可管理。应用(yngyng)会话外观共二十五页问题陈述(chnsh):用 Visio

11、生成银行 ATM 模型的 C# 代码。演示(ynsh):为银行 ATM 系统生成 C# 代码共二十五页在这一单元中,您学习了:框架是一个架构单元,它为一组问题提供可重用并且可扩展的解决方案。模式是指定的“问题解决方案”对,它使您可以在 SDLC 的设计和实现(shxin)阶段运用重复出现的问题的标准解决方案。GRASP 代表用来给不同的类分配职责的一组模式。设计模式提供了执行任务的标准方法,从而使得解决方案可重用和易于维护。GoF 的三种类型是:结构创建行为小结(xioji)共二十五页创建模式处理其它类的对象的创建和生命周期。结构型模式处理系统的结构。行为型模式处理系统的行为。代码生成是从设计模型中得出代码的过程。重构设计指在不改变类的外部行为的前提下重新(chngxn)构造现有代码的内部结构。小结(xioji)(续)共二十五页内容摘要在本单元中,您将学习:。开发团队要注意重用现有的解决方案以减少开发时间和提高质量。表示类或库的集合,使您能够执行特定的功能而不需要重新开发代码。专家模式:提供了为包含相关信息的类分配职责的指南。创建者模式:提供了为特定类的新对象分配职责的指南。依照控制器模式,处理系统事件

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论