《软件体系结构2_软件体系结构风格与模式_918409726》.ppt

《软件体系结构2_软件体系结构风格与模式_918409726》.ppt

  1. 1、本文档共169页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构(2) 软件体系结构的风格与模式 覃征 教授 Software Architecture 建筑模式 Christopher Alexander, The Timeless Way of Building, p247, 1979 每个模式是一个由三部分组成的规则,表达了特定环境、问题和解(solution)之间的关系。 作为现实世界的一个成分,每个模式表达了下列三者之间的一种关系:特定环境,在该环境中反复出现的力(forces)的系统,以及协调这些力的某种空间排列。 作为语言的一个成分,每个模式是一条指令,展示了这种空间排列如何被一再重复使用,目的是协调同特定环境相关的力的系统。 简单地说,模式既是存在于现实世界中的事物,又是告诉我们如何以及何时创造该事物的规则。模式既是过程,又是事物;既是活生生的事物的描述,又是创造该事物的过程的描述。 软件体系结构的构建模式 软件体系结构的特点之一就是抽象出了很多常见的系统构建模式,这些模式(或者说结构风格)是系统设计人员多年工作经验的总结。 软件体系结构风格和模式的概念 软件体系结构风格(Architectural Style) 一种体系结构风格以结构组织模式定义了一个系统家族 关于构件和连接件类型的术语;一组约束对它们组合方式的规定;一个或多个语义模型,规定了如何从各成分的特性决定系统整体特性 概括地说,一种软件体系结构风格刻划一个具有共享结构和语义的系统家族 软件体系结构模式(Architectural Pattern) 一种软件体系结构模式是对某个具体环境下问题的结构性解决方法 体系结构风格  模式系统中的词汇 目前尚不完善 每个风格可以视为一组构件的集合,以及构件间的交互(连接器) 构件(Components)+ 连接器(Connectors) E.g. C/S结构中 构件: Client, Server 连接器: C/S间的通讯协议 软件体系结构的构建风格 风格分类: 1. 管道-过滤器风格 2. 面向对象风格 3. 事件驱动风格 4. 分层风格 5. 数据共享风格 6. 解释器风格 7. 反馈控制环风格 8. 异构风格的集成 特别注意:体系结构风格不是对软件进行分类的标准。它仅仅是表示描述软件的不同角度而已 例如一个系统采用了分层风格,但这并不妨碍它用面向对象的方法来实现。同一个系统采用多种风格造成了所谓体系结构风格的异构组合。 管道-过滤器风格 概述 在管道-过滤器风格下,每个功能模块都有一组输入和输出。功能模块称作过滤器(filters);功能模块间的连接可以看作输入、输出数据流之间的通路,所以称作管道(pipes)。 管道-过滤器风格的特性之一在于过滤器的相对独立性,即过滤器独立完成自身功能,相互之间无需进行状态交互。 管道-过滤器风格特性 过滤器是独立运行的构件 非临近的过滤器之间不共享状态 过滤器自身无状态 过滤器对其处理上下连接的过滤器“无知” 对相邻的过滤器不施加任何限制 结果的正确性不依赖于各个过滤器运行的先后次序 各过滤器在输入具备后完成自己的计算。完整的计算过程包含在过滤器之间的拓扑结构中。 管道-过滤器风格 一个管道-过滤器风格的示意图如下图所示: 管道-过滤器风格 一个采用了嵌套的管道过滤器的系统示例: 管道-过滤器风格实例 Unix系统中的管道过滤器结构 ls –al | grep my DOS 中的管道命令 DOS允许在命令中出现用竖线字符“|”分开的多个命令,将符号“|”之前的命令的输出,作为“|”之后命令的输入,这就是“管道功能”,竖线字符“|”是管道操作符。 例如,命令dir | more使得当前目录列表在屏幕上逐屏显示。dir的输出是整个目录列表,它不出现在屏幕上而是由于符号“|”的规定,成为下一个命令more的输入,more命令则将其输入,more命令则将其输入一屏一屏地显示,成为命令行的输出。 THU SAGroup 12 管道-过滤器风格 实例 THU SAGroup 13 dir | more 管道-过滤器风格实例 通讯协议的信息封装(e.g. SDH) 管道-过滤器风格优点 设计者可以将整个系统的输入、输出特性简单的理解为各个过滤器功能的合成。 设计人员将整个系统的输入输出行为理解为单个过滤器行为的叠加与组合。这样可以将问题分解,化繁为简。将系统抽象成一个“黑箱”,其输入是系统中第一个过滤器的输入管道,输出是系统中最后一个过滤器的输出管道,而其内部各功能模块的具体实现对用户完全透明。 管道-过滤器风格优点

您可能关注的文档

文档评论(0)

这么近,那么远 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档