Go编程模式:Pipeline
本篇文章,我们着重介绍Go编程中的Pipeline模式。对于Pipeline用过Unix/Linux命令行的人都不会陌生,他是一种把各种命令拼接起来完成一个更强功能的技术方法。在今天,流式处理,函数式编程,以及应用网关对微服务进行简单的API编排,其实都是受pipeline这种技术方式的影响,Pipeline这种技术在可以很容易的把代码按单一职责的原则拆分成多个高内聚低耦合的小模块,然后可以很方便地拼装起来去完成比较复杂的功能。
本文是全系列中第8 / 10篇:Go编程模式
HTTP 处理
这种Pipeline的模式,我们在《Go编程模式:修饰器》中有过一个示例,我们在这里再重温一下。在那篇文章中,我们有一堆如 WithServerHead()
、WithBasicAuth()
、WithDebugLog()
这样的小功能代码,在我们需要实现某个HTTP API 的时候,我们就可以很容易的组织起来。
原来的代码是下面这个样子: