Question

Je commence à voir Contextes partout où je regarde. Dans ASP.NET MVC, il y a ControllerContexts, RequestContexts, HttpContexts, FormContexts. Dans Entity Framework, vous avez ObjectContexts et DbContexts. Ninject a Ninject.Activation.IContext.

Que diable est un contexte?

Était-ce utile?

La solution

Eh bien, il est le genre d'une chose d'injection de dépendance, qui permet aux gens de dire « Voici l'environnement que vous utiliserez dans ». En général, ils fournissent, sans surprise, le « contexte » pour quoi que ce soit. À savoir, un état. Peut-être l'URL, peut-être des en-têtes HTTP, peu importe.

vous voyez beaucoup d'entre eux parce que ASP.NET se concentre sur les tests et permet par conséquent ces éléments à « troque », de sorte que vous pouvez fournir vos propres implémentations de contexte (par exemple définir votre propre état), de sorte que vous pouvez exécuter des tests de manière appropriée et avec succès.

Si vous vous demandez ce que État est, eh bien c'est juste différents bits de données qui sont « donnés », par l'environnement. C'est à dire. Aujourd'hui, il est froid dans le bureau . Cela fait partie de l'état . Mais peut-être que je veux courir mon test quand il est chaud dans le bureau , donc je serais en mesure de sous-classe OfficeContext et retourner l'état approprié pour la méthode appropriée / etc.

Autres conseils

OMI, contexte désigne certains (peut-être mutable) état au sujet de quelque chose . Typiquement contexte serait couches transversales et porte souvent des données domaine neutre à travers les couches.

Contexte est l'information en dehors de la portée de la chose que vous faites actuellement, mais qui a des implications qui peut être essentielle.

Imaginez si quelqu'un vous demande la signification du mot anglais « voler ». Il y a plusieurs définitions: les petits bourdonnements ou inspecte l'acte soutenu de vol à voile dans l'air. Afin de donner la bonne réponse vous avez besoin du contexte qui vous indique quelle est la définition qu'ils cherchent - ils sont en train de lire un livre sur diptères ou les frères Wright

En ce qui concerne le calcul du, dites-vous implémentez un gestionnaire HTTP. Il pourrait être en mesure de générer une réponse sans savoir quoi que ce soit d'autre, mais il est plus probable qu'il a besoin du contexte des informations de requête HTTP (Bonjour, monde!) - quels étaient les paramètres de la requête, les types d'encodage acceptable, etc. de sorte qu'il peut produire une réponse significative à l'agent utilisateur.

Je pense à eux comme étant comme variables d'environnement et les paramètres de profil dans une session telnet / ssh. Ils regroupons différents paramètres pour permettre des outils pour effectuer différemment en fonction du contexte (à savoir l'environnement) ils sont dans l'exécution.

OMI, il est juste un autre argument. Dans mon (limitée) expérience, je l'ai vu être la classe d'appel. Vous devez savoir ce vous faites pour faire ce que vous faites bien . Le contexte est ce que vous faites, ce qui se passe / en cours d'exécution.

Les réponses ci-dessus sont en grande partie tout à fait bonne. La seule chose que je voudrais ajouter est que son usage le plus commun est comme une « colle » pour les couches inférieures d'un système. En général, le système en question est une sorte de système « conteneur », où votre code est exécuté à l'intérieur d'une base de code plus large qui cache beaucoup de détails d'exécution de votre part. Le contexte est l'interface abstraite à ce système plus grand.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top