高级软件架构设计归纳.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例 通过引入一个Rectangle 抽象类,利用了这一事 实:不同的Rectangle派 生类之间唯一的差异是如 何实现drawLine方法。 V1Rectangle类的实现方 式是:保存一个DP1对象 的引用,使用DP1对象的 draw_a_line方法。 V2Rectangle类的实现方 法是:保存一个DP2对象 的引用,使用这个对象的 drawline方法。 演示课件 需求变化 用户要求支持另一种形状——圆形。 演示课件 识别变化 首先识别出“什么在发生变化”。在上述的例子中,变化点是“不同类型的形状”和“不同类型的画图程序”。共同的“概念”则是“形状”和“画图程序”。 用Shape类来封装拥有的形状的概念。形状有责任知道如何画自己。Drawing对象负责画线和圆。 演示课件 描述变化 下一步是描述出现的特定变化:Shape类拥有矩形和圆形。画图程序分别拥有一个基于DP1的对象(V1Drawing)和一个基于DP2的对象(V2Drawing)。 演示课件 桥接模式 演示课件 观察者(observer)模式 康凯 演示课件 演示课件 命令(command)模式 康凯 演示课件 意图 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。 别名 动作(Action),事务(Transaction) 动机 有时必须向某对象提交请求,但并不知道关于被请求的操作或请求的接受者的任何信息。 例如,用户界面工具箱包括按钮和菜单这样的对象,它们执行请求响应用户输入。但工具箱不能显式的在按钮或菜单中实现该请求,因为只有使用工具箱的应用知道该由哪个对象做哪个操作。而工具箱的设计者无法知道请求的接受者或执行的操作。命令模式通过将请求本身变成一个对象来使工具箱对象可向未指定的应用对象提出请求。这个对象可被存储并像其他的对象一样被传递。这一模式的关键是一个抽象的Command类。 演示课件 例子 演示课件 结构 演示课件 其它设计模式 演示课件 VISITOR模式 该系列中的模式如下: VISlTOR模式 ACYCLIC VISITOR模式 DECORATOR模式 EXTENSION OBJECT模式 演示课件 例 是一个常见的问题:例如,有一个Modem对象的层次结构。基类中有所有调制解调器的公共方法。派生类代表不同调制解调器类型的驱动程序。 演示课件 问题 假设需要向该层次结构中增加一个新方法confrgureForUnix。使之可在UNIX下工作。在每个调制解调器派生类中该函数的实现都不相同。(假设每个不同的调制解调器在UNIX中都有自己独特的配置方法和行为特征)。 问题:直接增加configureForUnix方法其实回避了一个问题:对于Windows如何处理? MacOS? Linux? 必须针对所使用的每一种新操作系统都要向Modem层次结构中增加一个新方法? 这种做法是丑陋的:我们永远无法封闭Modem接口。每当出现一种新操作系统时, 就必须更改该接口并重新部署所有的调制解调器软件。 演示课件 VISITOR模式的结构 演示课件 VISITOR+组合模式 VISTTOR模式的一个非常常见的应用是,遍历大量的数据结构并产生报表。这使得数据结构对象中不含有任何产生报表的代码。如果想增加新报表,只需增加新的访问者,而不需要更改数据结构中的代码。这意味着报表可以被放置在不同的组件中,并且仅被那些需要它们的客户单独使用。 演示课件 借鉴RUP的UML建模与分析 演示课件 全局分析 全局分析侧重于定义拟建系统所采用的构架以及影响构架的要素。全局分析充分利用相似或问题中的经验,避免在确定构架上浪费人力和物力。 选用架构模式 识别关键抽象:寻找那些无论在问题域或方案领域都具有普遍意义的概念点。 标识分析机制:将那些问题领域(应用逻辑)没有直接关联的计算机概念及相应的复杂行为表述为支撑分析工作的“占位符”。 选定分析局部:针对拟建系统的整体架构,找出那些蕴含相对高风险的局部作为工作内容。 演示课件 全局分析 常见的分析机制 留存 分布式处理 安全性 进程间通信 消息路由 进程控制与同步 交易事务管理 信息交换 信息的冗余 错误检测、处理和报告 数据格式转换 演示课件 局部分析 提取分析类 转述需求场景 整理分析类 演示课件 局部分析 分析类的类型划分 众多实践表明,如果立足于软件功能需求,拟建系统往往在三个维度易于发生变化:一、拟建系统和外部要素之间交互的边界;第二,拟建系统要记录和维护的信息;第三,拟建系统在运行中的控制逻辑。通常按照这三个变化因素的维度,将分析类划分为三种类型:边界类、控制类、实体类 系统边界 Use Case 行为协调 基本信息 演示课件 局部分

文档评论(0)

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

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

1亿VIP精品文档

相关文档