- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件体系结构2软件体系结构风格与式918409726
七种构建模式的比较 构建模式 主要特点 主要优点 主要缺点 适合领域 说明 管道-过滤器风格 过滤器相对独立 功能模块复用;强可维护性和可扩展性;具有并发性;模块独立性高 不适于交互性强的应用;对于存在关系的数据流必须进行协调 系统可划分清晰的模块;模块相对独立;有清晰的模块接口 每个功能模块有一组输入输出,模块划分限制较大。 面向对象风格 力取实现问题空间和软件系统空间结构的一致性 高度模块性;实现封装;代码共享;灵活;易维护;可扩充性好 增加了对象之间的依赖关系 多种领域 是现在使用非常多的一种构建模式 事件驱动风格 系统由若干子系统构成且成为一个整体;系统有统一的目标;子系统有主从之分;每一子系统有自己的事件收集和处理机制 适合描写系统组;容易实现并发处理和多任务;可扩展性好;具有类层次结构;简化代码; 因为树型结构所以削弱了对系统计算的控制能力;各个对象的逻辑关系复杂 一个系统对外部的表现可以从它对事件的处理表征出来 事件驱动系统具有某种意义上的帝归性,形成了“部分-整体”的层次结构 七种构建模式的比较 构建模式 主要特点 主要优点 主要缺点 适合领域 说明 分层风格 各个层次的组件形成不同功能级别的虚拟机;多层相互协同工作,而且实现透明 支持系统设计过程中的逐级抽象;可扩展性好;支持软件复用 不同层次之间耦合度高的系统很难实现 适合功能层次的抽象和相互之间低耦合的系统 数据共享风格 采用两个常用构件中央数据单元和一些相对独立的组件集合 中央数据单元实现了数据的集中,以数据为中心 适合于特定领域 适合于专家系统等人工智能领域问题的求解 数据和处理功能分界明显, 解释器风格 系统核心是虚拟机 可以用多种操作来解释一个句子 适合于特定领域 适合于模式匹配系统和语言编译器 反馈控制环风格 通过不断地测量被控对象,认识和掌控被控对象;将控制理论引入体系结构构建 将控制理论引入到计算机软件体系结构中 适合于特定领域 该系统中一定存在有目标的作用、信息处理、闭环和开环控制过程 我认为这种构建模式应用范围很小 异构风格的集成 概述 各种系统构建模式之间不仅有联系,而且在很多情况下它们往往是配合使用的。即面对一个实际系统,很难判断它究竟是A型,还是B型,亦或者是C型,单纯的把它归到任何一型都是很勉强的。这样的系统可以称为复合型系统,这样的系统构建模式就称为异构风格的集成。 异构风格的集成 作为一个整体项目,可以将足球队类比为一个软件系统,球队的比赛过程类比为软件系统的运行过程,而球队完成教练(无论胜负)的战术意图类比为系统实现了自身功能。 整个球队的运作可以用分层风格(Layered Pattern),面向对象风格(Object Oriented)和事件驱动(Event Driven)混合表示。 异构风格的集成 在通用足球战术体系模型中: 分层风格是对整个球队基本阵型的模拟; 面向对象风格是对球队中的具体队员的模拟; 事件驱动风格对应于比赛过程中队员之间的相互通信方式。下面会详细解释这几种模式在通用足球战术体系中的作用。 异构风格的集成 通用足球战术体系中的通信关系 在通用足球战术体系中各层之间存在耦合,甚至在某些情况下某个层次中的对象还会根据系统的状态进行移动,这也是强调使用移动智能代理的根本原因。因为球员具有智能,会根据整个战局的变化自动应变,为了尽可能的模拟这种自适应性,必须使用移动智能代理. 通用足球战术体系中各个移动智能代理之间的相互通信方式和可能存在的层次跃迁,这也是整个体系结构中组成元素的基本运动方式。 异构风格的集成 通用足球战术体系的运作方式 整个系统预先定义好很多事件,它们都是和足球比赛中特定的情况或教练战术意图相联系的; 不同层次中移动智能代理在“战术事件”的驱动之下而移动。 战术事件的触发驱动事件处理函数的调用,函数的调用导致操作的执行和新事件的触发。如此环环相扣,构成了一个相互交织的事件网络,从而驱动整个系统的不断运行。 异构风格的集成 应用方法 在本模型的基础之上,实际系统设计者应该确定移动智能代理的实现和分布(指定基本阵型),定义必须的战术事件,给每个移动智能代理定义相应的事件处理函数(指定战术打法,是本模型的核心问题)。 在完成上述基本步骤后,模拟系统运行,修正最初的设计(甚至可以为每个移动智能代理设计多个事件处理函数,在不同情况下调用不同的函数,实现战术打法的变化),最终构成一个实际可运行的足球战术模拟系统。 小 结 在管道-过滤器风格下,每个功能模块都有一组输入和输出。功能模块从输入集合读入数据流,并在输出集合产生输出数据流,即功能模块对输入数据流进行增量计算得到输出数据流。在管道-过滤器风格下,功能模块称作过滤器(filters);功能模块间的连接可以看作输入、
文档评论(0)