一、概述
顾名思义,管道模式就像一条管道把多个对象连接起来,整体看起来就像若干个阀门嵌套在管道中,而处理逻辑就放在阀门上,如下图,需要处理的对象进入管道后,分别经过阀门一、阀门二、阀门三、阀门四,每个阀门都会对进入的对象进行一些逻辑处理,经过一层层的处理后从管道尾处理,此时的对象就是已完成处理的目标对象。
二、主要角色
- 阀门 处理数据的节点
- 管道 组织各个阀门
- 客户端 构造管道,并调用
三、实现Demo
using System; /// <summary> ///PipeLine模式的几个角色 ///阀门 处理数据的节点 ///管道 组织各个阀门 ///客户端 构造管道,并调用 /// </summary> namespace DesignMode_PileLine { //阀门接口 public interface IValve { IValve GetNext(); void SetNext(IValve v); void Invoke(string s); } //管道接口 public interface IPipeLine { IValve GetFirst(); IValve GetBasic(); void SetBasic(IValve v); void AddValve(IValve v); }