Frage

Ich fange Contexts, um zu sehen wo wir suchen. In ASP.NET MVC gibt es ControllerContexts, RequestContexts, HttpContexts, FormContexts. In Entity Framework haben Sie ObjectContexts und DbContexts. Ninject hat Ninject.Activation.IContext.

Was zum Teufel ist ein Zusammenhang?

War es hilfreich?

Lösung

Nun, es ist so eine Art Abhängigkeitsinjektion Sache, dass die Menschen zu sagen: ‚Hier ist die Umgebung, die Sie in betreiben werden‘ ermöglicht. Im Allgemeinen bieten sie wenig überraschend, der „Kontext“ für was auch immer es ist. Das heißt, einige Zustand. Vielleicht ist die URL, vielleicht einige HTTP-Header, was auch immer.

Sie sehen eine Menge von ihnen, weil ASP.NET konzentriert sich auf die Prüfung und ermöglicht daher diese Elemente „ausgelagert in“ zu sein, so dass Sie Ihre eigene Kontext-Implementierungen (dh definieren Sie Ihre eigener Staat), so dass Sie Tests angemessen und erfolgreich ausgeführt werden können.

Wenn Sie sich fragen, was Staat ist, na ja, es ist nur verschiedene Bits von Daten, die „gegeben“, durch die Umwelt sind. D. h heute ist es kalt im Büro . Dies ist Teil des Zustand . Aber vielleicht will ich mein Test auszuführen, wenn es heiß im Büro , so würde ich zu Unterklasse OfficeContext der Lage sein, und gibt den geeigneten Zustand für die entsprechende Methode / etc.

Andere Tipps

IMO, Kontext bezeichnet einen (möglicherweise wandelbar) Zustand über ein Ding . Typischerweise würde Kontext Querschnittsschichten und führt oft Domäne neutrale Daten über Schichten.

Kontext ist eine Information außerhalb des Bereichs der Sache, die Sie gerade tun, aber welche Auswirkungen hat, die wesentlich sein kann.

Stellen Sie sich vor, wenn jemand Sie die Bedeutung des englischen Wortes „fliegen“ fragt. Es gibt mehrere Definitionen: Die Summen wenig inspiziert oder die anhaltende Akt der durch die Luft zu gleiten. Um die richtige Antwort, die Sie die Kontext benötigen, um , die sagt Ihnen, welche Definition sie suchen - sind sie ein Buch über Diptera oder die Gebrüder Wright Lesen

Im Hinblick auf die Berechnung, sagen Sie die Implementierung eines HTTP-Handler. Es könnte in der Lage sein, eine Antwort zu erzeugen, ohne etwas zu wissen, sonst aber es ist wahrscheinlicher, dass es den Kontext der HTTP-Anforderung Informationen benötigt (Hallo, Welt!) - was die Anfrageparameter akzeptabel Codierungstypen waren, usw., so dass es eine sinnvolle Antwort auf die User-Agenten erzeugen kann.

ich glaube, von ihnen als wie Ihre Umgebungsvariablen und Profileinstellungen in einer Telnet / SSH-Sitzung zu sein. Sie bündeln verschiedene Einstellungen Tools zu ermöglichen, anders auszuführen basierend auf dem Kontext (das heißt Umgebung) Sie sind zulaufen.

IMO, es ist nur ein weiteres Argument. In meiner (begrenzten) Erfahrung, die ich gesehen habe es die anrufende Klasse. Sie müssen wissen, was Sie tun zu tun, was Sie tun, und . Der Kontext ist, was du tust, was passiert / Laufen.

Die oben genannten Antworten sind im Großen und Ganzen recht gut. Das einzige, was ich möchte hinzufügen, dass seine am weitesten verbreitete Anwendung als „Klebstoff“ ist Schichten eines Systems zu senken. Im Allgemeinen wird das betreffende System ist eine Art „Container“ System, in dem der Code innerhalb eines größeren Codebasis ausgeführt wird, dass Häute viele Ausführungsdetails von Ihnen. Der Kontext ist die abstrahierte Schnittstelle zu diesem größeren System.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top