软件架构风格_5.独立构件体系结构风格

        独立构件风格主要强调系统中的每个构件都是相对独立的个体,它们之间不直接通信,以降低耦合度,提升灵活性。独立构件风格主要包括进程通信事件系统风格

1.进程通信体系结构风格

         在进程通信体系结构风格中,构件独立的过程连接件消息传递。这种风格的特点是构件通常是命名过程,消息传递的方式可以是点到点、异步或同步方式及远程过程调用等。

2.事件系统体系结构风格

        事件系统风格(见图1)基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。

图1 事件系统体系结构风格

        从架构上说,这种风格的构件是一些模块,这些模块既可以是一些过程,又可以是一些事件的集合。过程可以用通用的方式调用,也可以在系统事件中注册一些过程,当发生这些事件时,过程被调用。

        基于事件的隐式调用风格的主要特点事件的触发者并不知道哪些构件会被这些事件影响。这使得不能假定构件的处理顺序,甚至不知道哪些过程会被调用,因此,许多隐式调用的系统也包含显式调用作为构件交互的补充形式。

        支持基于事件的隐式调用的应用系统很多。例如,在编程环境中用于集成各种工具,在数据库管理系统中确保数据的一致性约束,在用户界面系统中管理数据,以及在编辑器中支持语法检查。例如在某系统中,编辑器和变量监视器可以登记相应Debugger的断点事件。当Debugger在断点处停下时,它声明该事件,有系统自动调用处理程序,如编辑器可以卷屏(返回)到断点,变量监视器刷新变量数值。而Debugger本身只声明事件,并不关心哪些过程会启动,也不关心这些过程做什么处理。         

相关推荐

  1. 五大架构风格之三:独立构件风格

    2024-04-04 15:30:02       48 阅读
  2. 软考 - 软件架构设计师 - 架构风格

    2024-04-04 15:30:02       43 阅读
  3. 编码风格之(5)GNU软件编码风格(3)

    2024-04-04 15:30:02       45 阅读
  4. 软考笔记--软件架构风格

    2024-04-04 15:30:02       43 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-04 15:30:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-04 15:30:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-04 15:30:02       82 阅读
  4. Python语言-面向对象

    2024-04-04 15:30:02       91 阅读

热门阅读

  1. rust实现TCP服务器

    2024-04-04 15:30:02       43 阅读
  2. linux如何让alias自定义命令永久生效?

    2024-04-04 15:30:02       40 阅读
  3. Linux 配置DNS服务

    2024-04-04 15:30:02       38 阅读
  4. day17-分配问题

    2024-04-04 15:30:02       40 阅读
  5. 力扣由浅至深 每日一题.21 只出现了一次的数字

    2024-04-04 15:30:02       34 阅读
  6. 【题单】 洛谷图论题单

    2024-04-04 15:30:02       37 阅读
  7. NOSQL(非关系型数据库)的优缺点有哪些?

    2024-04-04 15:30:02       47 阅读
  8. c++前言

    c++前言

    2024-04-04 15:30:02      30 阅读
  9. Qt信号槽的使用

    2024-04-04 15:30:02       36 阅读
  10. 设计模式(16):观察者模式

    2024-04-04 15:30:02       42 阅读
  11. 动态规划基础

    2024-04-04 15:30:02       41 阅读
  12. 编程基础---C/C++基础知识

    2024-04-04 15:30:02       36 阅读
  13. 一些常见的k8s问题和答案

    2024-04-04 15:30:02       31 阅读