我开始在看到的每个地方都看到上下文(Context)。在ASP.NET MVC中,有ControllerContexts、RequestContexts、HttpContexts和FormContexts等。在Entity Framework中,你有ObjectContexts和DbContexts。Ninject有Ninject.Activation.IContext。
到底什么是上下文?
我开始在看到的每个地方都看到上下文(Context)。在ASP.NET MVC中,有ControllerContexts、RequestContexts、HttpContexts和FormContexts等。在Entity Framework中,你有ObjectContexts和DbContexts。Ninject有Ninject.Activation.IContext。
到底什么是上下文?
在我看来,上下文是关于某个事物的一些(可能可变的)状态。通常情况下,上下文会横跨多个层,并且经常在层之间传递领域中性数据。
上下文是指超出当前工作范围但具有重要影响的信息。
想象一下,如果有人问你英语单词“fly”的含义。这个单词有多个定义:小昆虫或在空中滑翔的持续行为。为了给出正确的答案,你需要了解上下文,以确定他们需要哪个定义-他们是在阅读关于双翅目昆虫还是莱特兄弟的书?
在计算机方面,比如你正在实现一个HTTP处理程序。它可能能够在不知道其他任何信息的情况下生成响应(Hello, World!),但更有可能需要HTTP请求信息的上下文 - 请求参数,可接受的编码类型等,以便向用户代理生成有意义的响应。
我认为它们就像telnet/ssh会话中的环境变量和配置文件设置一样。它们捆绑不同的设置,以便工具可以根据运行环境(即环境)的不同而执行不同的操作。
在我看来,这只是另一个参数。在我的(有限的)经验中,我看到它是调用类。你必须知道你在做什么才能做好你正在做的事情。上下文是你所做的事情,正在发生/运行的事情。