ruby 和 rails很多设计都没有很好的框图。
学了几天的rack,终于有点搞明白了,这里画一个图以方便理解rack.
[img]
[img]http://dl.iteye.com/upload/attachment/210017/72ac85b0-a5d3-3f06-bb44-917646624219.png[/img]
[/img]
根据这个框图,可以看出,所谓的rack兼容的中间件无非是一个可以执行 call(env) 的对象。
每个中间件都可可以对请求参数和输出结果做自己的修改。从而串接起来。
如可以增加一个参数,然后把这个参数或者对象放到env,就可以传递给下一个框架,从而形成把各个框架粘合起来。
学了几天的rack,终于有点搞明白了,这里画一个图以方便理解rack.
[img]
[img]http://dl.iteye.com/upload/attachment/210017/72ac85b0-a5d3-3f06-bb44-917646624219.png[/img]
[/img]
根据这个框图,可以看出,所谓的rack兼容的中间件无非是一个可以执行 call(env) 的对象。
每个中间件都可可以对请求参数和输出结果做自己的修改。从而串接起来。
如可以增加一个参数,然后把这个参数或者对象放到env,就可以传递给下一个框架,从而形成把各个框架粘合起来。