zoukankan      html  css  js  c++  java
  • 软件设计风格(一)

    1.管道/过滤器风格:

    特征:系统中构件之间通过数据流松散耦合。也就是说构件之间的依赖仅仅是数据流,而不是通常的接口函数调用或消息传递。

    典型应用:linux操作系统管道机制,在编译器、信号处理领域。比如,编译器一般由词法分析、语义分析、语法分析、代码生成和优化多个处理环节,如果将每个环节看做一个构件的话,那么他们之间的交互就是预定义好的数据流。

     

    其它说明:本模式在实现上可以有许多不同的变化,主要包括:

    (1)、主动和被动:在linux例子中管道被设计成被动的,而过滤器被设计为主动的,实际实现中可以有多种变化。比如,过滤器也可以设计为被动过滤器,等待管道主动发出读、写的交互操作。

    (2)、多出口管道:管道一般被设计为单入口单出口的形式,形成的系统拓扑一般是线性结构,也可以设计多出口管道,使得一个管道同时为几个过滤器提供数据,相应形成的系统拓扑是有向图。

  • 相关阅读:
    codefoces 1405 D Tree Tag
    洛谷P3413 萌数
    数位DP模板
    leetcode 统计所有可行路径
    Josephus Transform 加速置换
    牛客IOI周赛18-提高组 排列
    Find a way HDU
    Oil Deposits HDU
    Fire! UVA
    Pots POJ
  • 原文地址:https://www.cnblogs.com/gyouxu/p/2565946.html
Copyright © 2011-2022 走看看