简单介绍一下中间件:
中间件模式(middleware)是一种很常见、也很强大的模式,被广泛应用在 Express、Koa、Redux 等类库和框架当中。如果你能在自己的代码中也使用灵活这种模式能给你的程序带来更大的便利性和灵活性。
简单来说,中间件就是在调用目标函数之前,你可以随意插入其他函数预先对数据进行处理、过滤,在这个过程里面你可以打印数据、或者停止往下执行中间件等。数据就像水流一样经过中间件的层层的处理、过滤,最终到达目标函数。
最近经常活跃在一个Web 前端开发评测OJ网站,上面有这么一个题目:scriptoj.com/problems/52
中间件他是想实现这么个效果:
然后我用两种方法实现了下:
刚开始,我上网查资料,看到有人用指针和递归的思想实现了中间件,于是我思考了下,实现了下面这种办法:
可以看到这种办法十分复杂,别说,写完我都不忍直视。。
后来跟高手交流了下,于是第二种更简单实现的方法出来了:
完美。晚安。