簡體   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