2011-02-06 13 views
9

Esta palabra no tiene sentido para mí. Que no entendería por qué ussualy objetos de base de acceso se nombran con esta convención y también he visto muchas veces esta palabra se utiliza en otros códigos que no se trataba de objetos de base de datos.¿Qué significa Contexto?

¿Puede alguien explicar media de esta palabra en la programación para alguien que no es Inglés y puede dar algunos ejemplos sobre el uso general en el área de programación?

+28

Depende del contexto. –

+3

Creo que dictionary.com tiene una buena definición: 'el conjunto de circunstancias o hechos que rodean un evento en particular, la situación' –

Respuesta

5

en .NET yo sepa, Tenemos HttpContext en web y ObjectContext en Entity Framework. No conozco ningún otro uso del contexto en .NET framework, pero puede haber más usos. Entonces, aquí hay una explicación simple sobre los dos que conozco.

  • HttpContext:
    contenga toda la información específica de HTTP sobre una petición HTTP individual. Las propiedades de esta clase incluyen el objeto Request, el objeto respuesta, el objeto Session, y una propiedad AllErrors que mantiene una matriz de objetos ha producido una excepción durante la petición actual. Es simplemente una clase de contenedor.

  • ObjectContext: Citando: http://cgeers.wordpress.com/2009/02/21/entity-framework-objectcontext/#objectcontext

    cada objeto devuelto por una consulta (LINQ a Entidades, Entidades SQL ...) se adjunta automáticamente a un contexto del objeto. Este contexto rastrea los cambios aplicados a estos objetos para que luego pueda descubrir cómo persistir estos cambios en el almacén de datos subyacente.
    Este contexto objeto se representa por una clase apropiadamente llamada ObjectContext. El ObjectContext encapsula un par de cosas, a saber:

    • la conexión con el almacén de datos subyacente (base de datos)
    • metadatos que describen el modelo de datos Entidad (EDM)
    • Un ObjectStateManager de seguimiento de los cambios a los objetos

Por lo tanto, parece que se utiliza básicamente cuando queremos manejar algunos objetos lógicamente relativos. Objetos que podemos poner en un contexto lógico. (por ejemplo, entidades en EF o Solicitud/Respuesta/Sesión/etc. en HttpContext)

+1

También a menudo implica algún concepto de tiempo, con una fecha de finalización definida. –

+1

Hay muchos contextos detrás de escena como ControllerContext, ViewContext ..etc – Freshblood

+0

Otro, [SynchronizationContext] (http://msdn.microsoft.com/en-us/library/system.threading.synchronizationcontext.aspx) se usa con la programación asíncrona/multiproceso y el "contexto" tiene un significado técnico, aquí. "[Todo se trata de SynchronizationContext] (http://msdn.microsoft.com/en-us/magazine/gg598924.aspx)" dice: "El 'contexto' real de SynchronizationContext no está claramente definido. Diferentes marcos y los hosts son libres de definir su propio contexto ", y luego salta a las implementaciones. Todavía no he encontrado un artículo que indique lo que el "contexto" representa conceptualmente. – Vimes

14

Algo se llama típicamente un "contexto" en la programación de computadora cuando ese algo encapsula algún tipo de estado.

En el ejemplo de Linq 2 sql o EF, tiene un contexto de datos o un contexto de objeto. Estos encapsulan el estado de su modelo de datos, incluidas las conexiones y el control de versiones.

En el caso de HttpContext, está encapsulando el estado de una conexión Http (que normalmente se considera apátrida, pero HttpContext intenta darle un estado).

En inglés, si nos referimos al contexto, nos referimos a la información que rodea algo que le permite comprender la situación completa en la que existe ese algo. Por ejemplo, podemos decir que una declaración es "sacada de contexto". Eso significaría que una declaración en sí misma no revela necesariamente toda la información.

fuera de contexto:

personas son sabrosos.

En Contexto:

Nunca debemos decir o pensar que la gente es sabroso.

Sin el "contexto", la declaración tiene un significado diferente. La programación ha tomado el término para referirse de manera similar a los datos que rodean algo que le da más significado.

0

Sé que esto es viejo, sin embargo, la palabra contexto ha aparecido aún más en el lenguaje en los últimos tiempos. According to the MSDN un contexto es:

Define un entorno para los objetos que son residentes su interior y para los que una política se puede hacer cumplir.

De esto, interpreto que es un contenedor que debe adherirse a un conjunto de reglas que son globales en las que existirá el Contexto. DbContext, HttpContext y ViewContext para nombrar unos pocos son muy fáciles de empaquetar en esa definición.

Esto también implica que puede definir, ampliar, su propio contexto sobre un contexto existente. Un ejemplo sería tomar el HttpContext y obtener un RestfulContext que configure el HttpContext para manejar las políticas Restful a través de Http. Del mismo modo, podría derivar un HateOasContext que refinaría aún más qué política se aplica a los objetos dentro del Contexto.

Cuestiones relacionadas