上下文
上下文不太好理解,因为上下文在不同地方不同说法显得有点太过于抽象,多数情况下上下文指的是完成一个行为所需要的环境。这个行为可能是一段逻辑,也可能是某一个调用,甚至是进程和线程的切换,甚至是用户空间到系统空间的切换。这个环境可能包含保存寄存器相关的执行信息,这些信息确保行为可以正常执行或者回溯。也就是说在不同的场合有明确的定义,但是我们很难把它具象化,需要根据上下文来判断上下文。就 context 这个词来说我们没有办法给他明确的定义。
这里的上下文更像设计上的东西,不属于抽象的概念,指的是在链式调用当中需要传递的信息。链式调用通常指的是某个过程。比如 ABC 调用的过程当中,需要传递的一些信息,这个信息通常称之为上下文对象。
在 Web 框架中最常见的上下文对象是 Request 和 Response,很多 Web 框架把 Request 和 Response,可能包含其他的参数处理的对象封装起来,称之为一个上下文对象。
如果链式调用是汽车装配线的话,对于单个请求,它的上下文可能是装配线上正在装配的汽车,这个汽车顺着传送带向不同的工位进行传送,不同的工位会对这个上下文对象做出不同的调整。
这样一来整个逻辑是由两部分组成,第一种是行为,就是这条汽车装配线,如果汽车装配线上没有汽车,这条装配线只是一个流程,正因为上面有了汽车,这个逻辑才具