asp.net-mvc - tag - viewbag
¿Qué diablos es un contexto? (6)
Bueno, es una especie de inyección de dependencia, que permite a las personas decir ''Aquí está el entorno en el que operará''. En general, proporcionan, como era de esperar, el "contexto" de lo que sea. Es decir, algún estado. Tal vez la URL, quizás algunos encabezados HTTP, lo que sea.
Está viendo muchos de ellos porque ASP.NET se centra en las pruebas y, por lo tanto, permite que estos elementos se "intercambien", por lo que puede proporcionar sus propias implementaciones de contexto (es decir, definir su propio estado), para poder ejecutar pruebas apropiadamente y con éxito.
Si se está preguntando qué estado es, bueno, solo son varios bits de datos que son "dados" por el entorno. Es decir, hoy hace frío en la oficina . Esto es parte del estado . Pero tal vez quiera ejecutar mi prueba cuando está caliente en la oficina , por lo que podría crear una subclase de OfficeContext
y devolver el estado apropiado para el método apropiado, etc.
Estoy empezando a ver Contextos por todos lados. En ASP.NET MVC, hay ControllerContexts, RequestContexts, HttpContexts, FormContexts. En Entity Framework, tiene ObjectContexts y DbContexts. Ninject tiene Ninject.Activation.IContext.
¿Qué diablos es un contexto?
Considero que son como las variables de entorno y la configuración de perfil en una sesión de telnet / ssh. Combinan diferentes configuraciones para permitir que las herramientas se desempeñen de manera diferente según el contexto (es decir, el entorno) en el que se ejecutan.
Las respuestas anteriores son en general bastante buenas. Lo único que agregaría es que su uso más común es como un "pegamento" para las capas inferiores de un sistema. En general, el sistema en cuestión es algún tipo de sistema "contenedor", donde su código se ejecuta dentro de una base de código más grande que le oculta muchos detalles de ejecución. El contexto es la interfaz abstracta para ese sistema más grande.
OMI, el contexto denota algún estado (posiblemente mutable) sobre alguna cosa . Normalmente, el contexto sería capas transversales y, a menudo, transporta datos de dominio neutral a través de las capas.
OMI, es sólo otro argumento. En mi (limitada) experiencia, he visto que es la clase que llama. Tienes que saber qué estás haciendo para hacer lo que estás haciendo bien . El contexto es lo que estás haciendo, lo que está sucediendo / corriendo.
El contexto es información fuera del alcance de lo que está haciendo actualmente pero que tiene implicaciones que pueden ser esenciales.
Imagínese si alguien le pregunta el significado de la palabra inglesa "volar". Existen múltiples definiciones: el zumbido inspecciona o el acto sostenido de deslizarse por el aire. Para poder dar la respuesta correcta, necesitas el contexto que te dice qué definición están buscando: ¿están leyendo un libro sobre Diptera o los hermanos Wright?
Con respecto a la computación, digamos que estás implementando un controlador HTTP. Puede ser capaz de generar una respuesta sin saber nada más (¡Hola, Mundo!) Pero es más probable que necesite el contexto de la información de solicitud HTTP: cuáles fueron los parámetros de solicitud, los tipos de codificación aceptables, etc., para que pueda producir una respuesta. Respuesta significativa al agente de usuario.