繁体   English   中英

什么是上下文?

[英]What is a context?

在我看来,Context 类是一个控制台,其对象可以调用任何包含的函数,例如 WCF Ria 服务中的 Datacontext 和 DomainContext。 我正确理解这个概念吗? 如果是这样,在什么情况下我需要在自己的类层次结构中创建上下文类?

除了 DataContext 之外,.net 框架还有哪些其他著名的 Context 类?

您可以将上下文视为相关“事物”的包装器,例如 HttpContext、DbContext、ObjectContext。 即: HttpContext 包含您可以访问的 HTTP 相关操作的任何信息。

DbContext 包含用于数据库通信的方法和属性。 同样 ObjectContext。

我会说它是某物的占位符或相关事物的容器。

对我来说,上下文对象定义了一组绑定到当前执行路径的值和/或函数。 换句话说,就像在面试的背景下谈论一个话题技术比在一个书呆子晚餐谈论同一主题的不同,对环境的变化基础上,影响消费的代码的运行时环境的因素。 这看起来很抽象,但我现在想不出更好的方法来描述它!

.NET 中另一个著名的上下文是HttpContext对象。 哪些值将根据正在处理的 Http 操作而改变。 例如,url 将在HttpContext.Current.Request.Uri更改。 希望能把它放在你的上下文中:)

上下文通常是一组动作的存储机制。 HttpContext例如

封装有关单个 HTTP 请求的所有特定于 HTTP 的信息。

对于您的 WCF 示例,“上下文”是服务。 不同的服务有不同的上下文。 上下文可以根据需要细化。 有些是广泛的,如DomainContext ,有些是细粒度的,如HttpContext

上下文无处不在,当您需要访问或设置志同道合的数据或功能时,可以使用它们来解耦。

所有的上下文都是这样,它们只是封装了特定动作集的逻辑。

是另一篇描述上下文设计模式的文章。

Context 类用于一些 OOP 设计模式,例如: - 状态模式 - 策略模式

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM