Domanda

sto iniziando a vedere Contesti ovunque guardo. In ASP.NET MVC, ci sono ControllerContexts, RequestContexts, HttpContexts, FormContexts. In Entity Framework, avete ObjectContexts e DbContexts. Ninject ha Ninject.Activation.IContext.

Che diamine è un contesto?

È stato utile?

Soluzione

Bene, è una specie di una cosa di dipendenza-iniezione, che permette alle persone di dire 'Ecco l'ambiente si opererà in'. In generale, essi forniscono, ovviamente, il "contesto" per qualunque cosa sia. Vale a dire, qualche stato. Forse l'URL, forse alcune intestazioni HTTP, qualunque sia.

Si stanno vedendo un sacco di loro perché ASP.NET è focalizzata sulla sperimentazione e, quindi, permette a questi elementi da "scambiati in", in modo tale che è possibile fornire i propri implementazioni di contesto (vale a dire definire la vostra proprio stato), in modo che è possibile eseguire i test in modo appropriato e con successo.

Se vi state chiedendo cosa Stato è, beh è solo vari bit di dati che vengono "dato", dall'ambiente. Cioè oggi è freddo in ufficio . Questo fa parte del Stato . Ma forse io voglio correre la mia prova quando si tratta di caldo in ufficio , quindi vorrei essere in grado di sottoclasse OfficeContext e restituire lo stato appropriato per il metodo appropriato / etc.

Altri suggerimenti

IMO, Context denota uno stato (forse mutabile) su qualche cosa . Tipicamente contesto sarebbe strati trasversali e spesso porta dati neutri dominio di tutti gli strati.

Contesto è informazioni al di fuori del campo di applicazione della cosa che stai facendo attualmente, ma che ha implicazioni che potrebbe essere essenziale.

Immaginate se qualcuno ti chiede il significato della parola inglese "volare". Ci sono molteplici definizioni: i piccoli ispeziona ronzio o l'atto continuo di scivolare attraverso l'aria. Al fine di dare la risposta giusta è necessario contesto , che ti dice che la definizione che stanno cercando - stanno leggendo un libro su Ditteri oi fratelli Wright

Per quanto riguarda il calcolo, dire che si sta implementando un HTTP handler. Potrebbe essere in grado di generare una risposta senza sapere niente altro, ma è più probabile che ha bisogno della di contesto delle informazioni richiesta HTTP (Ciao, mondo!) - quali sono stati i parametri di richiesta, i tipi di codifica accettabili, ecc quindi può produrre una risposta significativa al programma utente.

Penso a loro come essere come le variabili d'ambiente e le impostazioni del profilo in una sessione telnet / ssh. Hanno fascio impostazioni insieme diversi per consentire strumenti per eseguire in modo diverso in base al contesto (ambiente vale a dire) Sono corsa in.

IMO, è solo un altro argomento. Nella mia esperienza (limitata), ho visto che sia la classe chiamando. Dovete sapere cosa che si sta facendo a fare quello che stai facendo e . Il contesto è quello che stai facendo, che cosa sta accadendo / corsa.

Le risposte di cui sopra sono in linea di massima buona abbastanza. L'unica cosa che vorrei aggiungere è che il suo utilizzo più comune è come una "colla" per abbassare i livelli di un sistema. In generale il sistema in questione è una sorta di sistema di "contenitore", in cui viene eseguito il codice all'interno di una base di codice più grande che nasconde un sacco di dettagli di esecuzione da voi. Il contesto è l'interfaccia astratta a quel sistema più grande.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top