`
ldb19890624
  • 浏览: 242532 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

章二 软件体系结构的构建模式(2)

 
阅读更多

章二 软件体系结构的构建模式(2)
三、事件驱动模式
1、事件驱动模式
事件驱动系统的基本观点是一个系统对外部的表现可以从它对事件的处理表征出来。
特点:
(1)系统由若干个子系统或元素所组成的一个整体;
(2)系统有一定的目标,各子系统在某一种消息机制的控制下,为了这个目标而协调行动;
(3)在某一种消息机制的控制下,系统作为一个整体与环境相适应和协调;
(4)在一个系统的若干子系统中,必定有一个子系统起着主导作用,而其它子系统处于从属地位;
(5)任一系统和系统内的任一元素,都有一个事件收集机制和一个事件处理机制,通过这种机制与周围环境发生作用和联系。
在基于事件驱动模式的系统设计中,系统的每个子系统在设计过程中都要考虑其完整性和相对独立性,不绝对依赖于某一子系统,系统之间的协调和管理都是通过消息传递和收集来进行的。
2、事件驱动模式系统的设计原则:
(1)从系统论的角度看待描述的对象,合理分解子系统,保证各个子系统的独立性和社会性;
(2)任何子系统都可按有无子系统这一性质分:管理系统和执行系统;
(3)为达到系统的目标,系统内的各个子系统通过传递消息和执行消息来协同操作;
(4)任何性质的子系统都必须有一个事件处理器,用以处理上级交给的事件;
(5)在一个完整系统中,必须有这样一个子系统,它没有上级,必须收集系统外的事件及下级发出的事件;
(6)管理类型的子系统一般不执行具体操作,它的主要功能是按照自己的只能指挥下级完成任务,功能性操作一般由执行类型的子系统完成;
(7)一般情况,除最高管理子系统外,子系统一般是“有问才答”,即使在必要的情况下需要积极寻找事件时,也必须征得上级系统的许可,保证了系统的控制流不会分散。
3、事件驱动模式的优点:
(1)事件驱动模式非常适合于描述系统族,在属于同一族的任何系统中,系统的高级管理子系统的描述是完全类似的,便于重用;
(2)由于最高管理子系统牢牢的掌握着控制权,又因为各同级子系统一般不直接发生关系,因此容易实现并发处理和多任务操作;
(3)基于事件驱动模式的系统具有良好的可扩展性,设计者只需为某个对象注册一个事件处理接口就可以将该对象引入整个系统,同事并不影响其它的系统对象;
(4)定义了包含执行子系统和管理子系统的类层次结构;
(5)简化客户代码;
(6)使整个系统的设计更具有一般化。
4、事件驱动模式的不足:
(1)构件消弱了自身对系统计算的控制能力;
(2)事件驱动模式中存在的另一个问题是数据共享;
(3)系统中各个对象的逻辑关系变得更加复杂。
5、事件驱动模式和面向对象之间的关系:基于事件驱动模式的系统往往都是面向对象的。
事件接口
6、事件驱动模式实例
事件驱动是JavaBean体系结构的核心之一,JavaBean系统通过事件驱动机制将一些组件作为事件源,发出可以被描述环境或其它组件接收的事件。
适配器类是JavaBean事件模型中极其重要的一部分,在一些应用场合,事件从源到监听者之间的传递要通过适配类来“转发”。
适配类成为了事件监听者,事件源实际是把适配类作为监听者注册到监听者队列中,而真正的事件响应者并未在监听者队列中,事件响应者应做的动作由适配类决定。

四、分层模式
1、分层模式特征
一个分层系统采用层次化的组织方式构建,系统中的每一层都要承担两个角色。
首先,它要为结构中的上层提供服务;
其次,它要作为结构中下面层次的客户,调用下层提供的功能函数。
最高层和最低层例外。
核心层-功能层-应用层
2、分层模式的优点:
(1)分层模式支持系统设计过程中的逐级抽象;
(2)分层模式的系统具有较好的可扩展性;
(3)分层模式支持软件复用。
3、分层模式的不足:
并非所有的系统都适合用分层模式来描述的;对于抽象出来的功能具体应该放在哪个层次上也是设计者头疼的问题。
4、实例:
在计算机网络的设计中,采用了分层模式的设计方法。ISO/OSI的七层参考模型。

分享到:
评论

相关推荐

    软件体系结构(ppt版)

    软件体系结构(Software Architecture)是指一个软件系统的高级构造和组织,包括其主要组件、组件之间的交互方式、指导系统构建的原则以及这些组件和交互模式的规则和约束。 软件体系结构的概念起源于对软件危机的...

    软件设计模式与体系结构课后习题代码(孙玉山).zip

    软件体系结构是软件系统的高层次构造,它定义了系统的主要组件、组件间的交互以及指导系统构建的原则。常见的软件体系结构风格有: 1. 层次型架构:将系统划分为多个层次,每一层都只与相邻层进行交互。 2. 微服务...

    软件设计模式与体系结构练习题

    2. **软件体系结构**: - **三层架构**(表示层、业务逻辑层、数据访问层):将应用分为界面展示、业务处理和数据存储三个部分,提高各层之间的解耦合性。 - **微服务架构**:将单一应用程序划分为一组小型服务,...

    软件设计模式与体系结构孙云山课后习题234章答案.zip

    孙云山老师的“软件设计模式与体系结构”课程深入探讨了这些模式及其在构建复杂系统中的应用。本资料集合包含了课后习题的第234章答案,这将有助于学生深化对设计模式的理解,并提升其实际应用能力。 设计模式是...

    第3章 软件体系结构风格_设计模式_

    在软件开发领域,软件体系结构风格与设计模式是构建高效、可维护且可扩展系统的基础。本章将深入探讨这两个核心概念,它们是软件设计师的工具箱中的关键元素,为解决复杂问题提供了标准方法。 软件体系结构风格是指...

    软件设计与体系结构PPT

    在实际应用中,我们还会涉及到软件体系结构的选择,常见的有层次式架构、客户端-服务器架构、微服务架构、事件驱动架构等。每种架构都有其适用场景和优缺点,比如微服务架构强调服务的独立部署和松耦合,适合大规模...

    软件体系结构——研究生课程PPT

    第二章,软件体系结构(英语),深入到英文环境下的理论与实践,可能包含国际上最新的研究进展和技术趋势。这章可能会涉及一些经典和现代的体系结构风格,如事件驱动、面向服务架构(SOA)、云计算架构等。同时,也...

    软件工程课件:第5章 软件体系结构与设计模式.ppt

    本文主要讨论的是软件工程中的核心概念——软件体系结构与设计模式。软件体系结构是软件开发中的关键组成部分,它定义了软件系统的组织结构和组件间的交互方式。Bass、Clements和Kazman以及Dewayne Perry和Alexander...

    软件设计与体系结构期末复习-选择软件设计与体系结构期末复习-选择

    6. **软件体系结构定义**:软件体系结构是程序构件的结构或组织,以及构件间的交互形式和数据结构,是软件设计的基础。 7. **软件分类**:软件可分为系统软件、应用软件、嵌入式软件;人工智能软件、科学计算软件、...

    软件体系结构 外文课件

    《软件体系结构 外文课件》是一份珍贵的学习资源,涵盖了从第1章到第8章的内容。这个压缩包包含了一系列关于软件体系结构的PPT文件,详细讲解了该领域的核心概念和实践应用。 首先,从“01 Ch01 The Big Idea.ppt”...

    软件体系结构课堂教师授课课件

    《软件体系结构》课程是计算机科学与技术领域中至关重要的一门课,它涵盖了软件系统设计、组织和构建的原理与方法。本课件是教师在课堂上讲解的精华内容,虽然可能并不完整,但其中包含的诸多关键概念和实践指南对于...

    华中科大 软件体系结构 课件 例子

    软件体系结构是软件开发中的核心环节,它定义了软件系统的高层次组织结构和组件间的关系,对于构建高效、可维护、易扩展的系统至关重要。华中科技大学的陈长清博士以其丰富的教学经验,为我们提供了深入浅出的软件...

    华中科技大学软件学院软件体系结构Software Architecture

    软件体系结构是构建大型复杂软件系统的基石,它定义了系统的高级结构,决定了系统的可扩展性、可维护性和性能等关键特性。本课程通过丰富的学习材料,包括多个章节的详细讲解,帮助学生理解和掌握软件架构的设计和...

    软件体系结构软件体系结构总复习.pptx

    第三章介绍了软件体系结构的模式,即通用架构风格。数据流风格如批处理序列、管道/过滤器,强调数据的流动和处理;过程控制风格如开环、闭环,关注控制流程;调用/返回风格如主程序/子程序、面向对象和层次结构,...

    软件体系结构

    第2章“软件体系结构建模”涉及如何用模型来表示和分析体系结构。常见的建模工具包括构件图、部署图和交互图,它们有助于清晰地展示软件的组成部分和它们的交互方式。建模语言如UML(统一建模语言)在此过程中扮演了...

    软件体系结构.docx

    总的来说,软件体系结构是软件开发的核心,它定义了系统的组织方式、组件交互和行为模式,而构件作为基本构建块,通过有效的管理和重用策略,能够提高软件质量和开发效率。选择合适的体系结构风格和管理方法,是构建...

    第9章软件开发体系结构.ppt

    随着技术的发展,软件体系结构经历了从集中式到分布式的过程,从早期的单一主机模式到后来的C/S(Client/Server)体系结构,再到现在的B/S(Browser/Server)体系结构,以及多层计算框架。 在九十年代以前,大多数...

    软件体系结构软件体系结构总复习PPT学习教案.pptx

    第三章涉及软件体系结构模式,即通用的体系结构风格。数据流风格如批处理序列和管道/过滤器风格,其中过滤器组件处理输入数据并产生输出,管道则用于传递数据。批处理风格适合一次性处理大量数据的任务。过程控制...

Global site tag (gtag.js) - Google Analytics