- 1、本文档共19页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《软件架构风格整理及总结》.pdf
博客地址: /hawksoft 在整理中总结,在分享中进步
目录
1 数据流风格 3
1.1 批处理序列 3
1.2 管道 /过滤器 3
2 调用 /返回 4
2.1 主程序 /子程序 4
2.2 面向对象风格 4
2.3 层次结构 5
3 独立构件风格 5
3.1 进程通讯 5
3.2 事件系统 5
4 虚拟机风格 6
4.1 解释器 6
4.2 基于规则的系统 6
5 仓库风格 6
5.1 数据库系统 6
5.2 超文本系统 7
5.3 黑板系统 7
6 复制风格 7
6.1 复制仓库 (Replicated Repository,RR) 7
6.2 缓存 (Cache ) 8
7 其它风格 8
7.1 CS 结构 8
7.2 CS 三层架构 9
7.3 浏览器/服务器风格 12
7.4 C/S 与 B/S 混合软件体系结构 13
7.5 面向 Agent 软件体系结构 14
7.6 Process Control (Loop) 15
7.7 Heterogeneous Architecture(异构) 16
博客地址: /hawksoft 在整理中总结,在分享中进步
7.8 特定领域软件体系结构 16
7.9 正交软件体系结构 17
博客地址: /hawksoft 在整理中总结,在分享中进步
1 数据流风格
1.1 批处理序列
批处理风格的每一步处理都是独立的.并且每一步是顺序执行的.只有当前一步处理完
后.后一步处理才能开始.数据传送在步与步之间作为一个整体.(组件为一系列固定顺序的
计算单元,组件间只通过数据传递交互。每个处理步骤是一个独立的程序,每一步必须在前
一步结束后才能开始,数据必须是完整的,以整体的方式传递)
批处理的典型应用:
经典数据处理;
程序开发;
Windows 下的 BAT 程序就是这种应用的典型实例。
批处理风格与管道过滤器风格比较:
共同点:把任务分成一系列固定顺序的计算单元(组件).组件间只通过数据传递交互。
区别:批处理是全部的、高潜伏性的,输入时可随机存取,无合作性、无交互性.而管道
过滤器是递增的,数据结果延迟小,输入时处理局部化,有反馈、可交互。
1.2 管道 /过滤器
每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据
流。这个过程通常通过对输入流的变换及增量计算来完成,包括通过计算和增加信息丰富数
据,通过浓缩和删除精炼数据,通过改变记录方式转化数据,递增地转化数据等。在输入被
完全消费之前,输出便产生了。这里构件被称为过滤器,连接件就是数据流传输的管道,将
一个过滤器的输出传到另一个过滤器的输入
优点:
1) 使得软构件具有良好的隐蔽性和高内聚.低耦合的特点
允许设计者将一个系统的整体输入/输出行为理解为各个独立过滤器行为的简单合成
2) 支持软件重用。只要提供适合在两个过滤器之间传送的数据.任何两个过滤器都可被连
接起来;
3) 系统维护和性能增强简单:新的过滤器可以添加到现有系统中,或者利用改进的过滤器替
换老的过滤器;
4) 支持并行执行:每个过滤器是作为一个单独的任务完
文档评论(0)