首页 > 其他分享 >系统架构设计风格之二---管道-过滤器风格

系统架构设计风格之二---管道-过滤器风格

时间:2022-08-30 10:11:13浏览次数:78  
标签:1.4 架构设计 1.3 系统 --- 管道 风格 过滤器 错误处理

一、 管道-过滤风格 

过滤器:功能组件

管道:数据流之间的通路

1.2 特点

管道/过滤器结构将数据流处理分为几个顺序的步骤来实现,一个步骤的输出是另一个步骤的输入,每个步骤由一个过滤器来实现

每个过滤器独立完成自己的任务,不同过滤的之间不需要进行交互

在管理/过滤器结构中,数据输出 的最终结果 与各个过滤器执行的顺序无关。(如何做到?)

1.3 优点

1.3.1 简单性

允许将系统的输入和输出 看作是各个过滤器行为的简单组全,独立的过滤器能够减小构件之间的耦合度

1.3.2 可扩展性

各个过滤器相互独立,因此 很容易在系统中添加,以扩展系统的业务处理能力,原有过滤器可以方便替换

1.3.3 复用性

一个过滤器的输出格式与另一个过滤器的输入的数据格式一致,则可将两个过滤器连接在一起

1.3.4 并发性

过滤器能够独立运行,因此 不同子任务可以并行执行,提高系统运行效率

 

1.3.5 系统分析

由于系统是独立构件的组合,具有 清晰的拓扑结构

 

1.4 缺点

1.4.1 交互性

不适合用来设计交互式应用系统

 

1.4.2 通用性

由于没有通用的数据标准,每个过滤器都需要解析输入数据和合成数据,从而增加复杂性

1.4.5 错误处理

难以进行错误处理,很难制定错误处理的一般性策略

 

二、印象最深

 

讲师说最终输出与过滤器的执行顺序无关,我十分怀疑该结论,只给结论没给论点,为什么无关,如何做到可以最终结果一致,完成没有解释。

 

三、知识点应用

讲得太粗了,实在不知道怎么应用。
————————————————
版权声明:本文为CSDN博主「weixin_47242301」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_47242301/article/details/108187258


 

 


 

 



 

标签:1.4,架构设计,1.3,系统,---,管道,风格,过滤器,错误处理
From: https://www.cnblogs.com/zhanchenjin/p/16638330.html

相关文章

  • 开放-封闭原则
    理论开放-封闭原则:软件实体(类、模块、函数等等)应该可以扩展,但是不可修改。即对扩展是开放的,对更改是封闭的。何时应对变化:无论模块多么的“封闭”,都会存在一些无法对之封......
  • 9. SQL--use:选择数据库
    1.前言如果您的系统中有多个数据库,那么在开始操作之前,您需要先选择一个数据库。sqluse语句用来选择一个已经存在的数据库。2.语法use语句的基本语法如下:usedat......
  • atools -> aspect -> Log
    atools-> log->aspect->Log 文件packagecom.example.demo.atools.log.aspect;importjava.lang.annotation.*;/***@Create:IntelliJIDEA.*@Author:......
  • atools -> aspect -> LogAspect
    atools-> log->aspect->LogAspect 文件packagecom.example.demo.atools.log.aspect;importcom.alibaba.fastjson.JSON;importcom.example.demo.atools.log.......
  • 20220830-hi3516交叉编译opencv4.6.0
    1. 下载opencv4.6.0并解压https://opencv.org/releases/unzipopencv-4.6.0.zipcdopencv-4.6.0 2. 安装基础工具sudoapt-getinstallbuild-essentialsudoapt......
  • [CISCN2019 华北赛区 Day1 Web2]ikun-1|python反序列化
    考点:JWT身份伪造、pythonpickle反序列化、逻辑漏洞1、打开之后首页界面直接看到了提示信息,信息如下:2、那就随便注册一个账号进行登录,然后购买lv6,但是未发现lv6,那就查看......
  • atools -> log -> interceptor -> InterceptorConfig
    atools->log->interceptor->InterceptorConfig 文件packagecom.example.demo.atools.log.interceptor;importorg.springframework.context.annotation.Config......
  • atools -> log -> interceptor -> MyInterceptor
    atools->log->interceptor->MyInterceptor 文件packagecom.example.demo.atools.log.interceptor;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;......
  • atools -> readme.txt
    atools->readme.txt 文件atools生命历程***2020/09/09***1、工具包处于测试阶段2、测试出现的问题:swagger不能正常显示、入参的参数body不能获取到3、计划引入切......
  • 【lwip】005-lwip内核框架剖析
    目录前言5.1lwip初始化5.2内核超时5.2.1内核超时机制5.2.2周期定时机制5.2.3内核超时链表数据结构5.2.4内核超时初始化5.2.6超时的溢出处理5.2.7注册超时事件5.2.8......