赞
踩
本篇和大家谈谈一种通用的设计与处理模型——Pipeline(管道)。
Pipeline简介
Pipeline模型最早被使用在Unix操作系统中。据称,如果说Unix是计算机文明中最伟大的发明,那么,Unix下的Pipe管道就是跟随Unix所带来的另一个伟大的发明【1】。我认为管道的出现,所要解决的问题,还是软件设计中老生常谈的设计目标——高内聚,低耦合。它以一种“链式模型”来串接不同的程序或者不同的组件,让它们组成一条直线的工作流。这样给定一个完整的输入,经过各个组件的先后协同处理,得到唯一的最终输出。
Pipeline模型的应用
以下列举了,我熟悉或者有所了解的典型pipeline模型的应用。
公司.net web程序员很多,那么首先就谈谈asp.net。一个http请求到达http服务器IIS之后,就是经过pipeline模型被处理的。参见下图:
说明一下,这幅图,并没有下面的图形来得直观。它的侧重点在于展示管道中各个组件处理事件触发的时序图,而不是pipeline模型。但如果你思考以下,也能体会到其中“管道”的概念(注意右面循环图标,如果需要比划一下的话,就是一个U逆时针旋转90度的形状)。
最后,我还是决定上个清晰点的图:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。