Ich programmiere seit einigen Monaten und ein häufig verwendetes Wort ist "Kontext" im Unterricht. Wie ServletContext
(Java), Activity
(Android), Service
(Java, Android), NSManagedContext
(Objective-C, iOS).
Wenn ich in Wörterbüchern nachschaue, sehe ich, dass das Wort bedeutet: Situation, Umgebung, Umstände usw. Da ich jedoch kein englischer Muttersprachler bin, verstehe ich nicht, in was ich es direkt übersetzen soll. Wenn ich zum Beispiel eine Klasse schreiben würde, die entweder benannt wurde SomeClassContext
, oder eine Methode, die einen Kontextparameter hat, würde ich nicht verstehen, wann ich sie als Kontext benennen sollte, weil ich sie nicht verstehe.
Ich habe nach Kontext für Stack Overflow gesucht, aber keine Frage / Antwort konnte mir helfen.
Ich würde mich sehr freuen, wenn mir jemand die Erklärung geben könnte.
quelle
Antworten:
Angenommen, Sie gehen zum Zahnarzt, um sich einen Zahn herausziehen zu lassen.
Wenn die Rezeptionistin Sie nach Ihrem Namen fragt, sind dies Informationen, die sie benötigen, um den Termin zu beginnen. In diesem Beispiel handelt es sich bei Ihrem Namen um Kontextinformationen . Im Zusammenhang mit einem Zahnarztbesuch müssen Sie also Ihren Namen angeben, damit Ihr Zahn gezogen wird.
Nehmen wir jetzt an, Sie gehen zur Bank.
Bei der Bank bitten Sie um Abhebung von 100 US-Dollar. Der Kassierer muss Ihre Identität feststellen, bevor er Ihnen Geld gibt. Daher müssen Sie ihm wahrscheinlich einen Führerschein vorzeigen oder Ihre Geldautomatenkarte durchziehen und Ihre PIN-Nummer eingeben. In jedem Fall ist das, was Sie bereitstellen, der Kontext . Der Kassierer verwendet diese Informationen, um die Transaktion voranzutreiben. Sie werden dann möglicherweise gefragt, von welchem Konto Sie abheben möchten. Wenn Sie mit "Mein Sparkonto" antworten, ist das noch mehr Kontext .
Je mehr Kontext Sie angeben, desto mehr Wissen muss die andere Partei zur Bearbeitung Ihrer Anfrage bereitstellen. Manchmal ist der Kontext optional (wie das Eingeben von immer mehr Wörtern in Ihre Google-Suche, um bessere Ergebnisse zu erzielen) und manchmal ist er erforderlich (wie das Angeben Ihrer PIN-Nummer am Geldautomaten). In jedem Fall sind es Informationen, die normalerweise dazu beitragen, Dinge zu erledigen.
Nehmen wir jetzt an, Sie nehmen Ihre 100 Dollar und kaufen ein Flugticket, um an einen warmen Ort zu fliegen, während Ihr Mund heilt.
Sie kommen an einem schönen sonnigen Ort an, aber Ihre Tasche schafft es nicht. Es ist irgendwo im Flughafensystem verloren. Also bringen Sie Ihr "Gepäckausgabeticket" (diesen Aufkleber mit dem Barcode) zum "Büro für verlorenes Gepäck". Das erste, was die Person hinter dem Schreibtisch verlangt, ist das Ticket mit Ihrer Gepäcknummer. Das ist ein Beispiel für einen erforderlichen Kontext .
Aber dann bittet Sie die Gepäckperson um weitere Informationen über Ihre Tasche, damit sie diese leichter finden kann. Sie fragen: " Welche Farbe hat es? Welche Größe hat es? Hat es Räder? Ist es hart oder weich? Obwohl sie diese Informationen nicht unbedingt benötigen, hilft es, die Dinge einzugrenzen, wenn Sie sie bereitstellen. Es reduziert die Problembereich. Dies beschleunigt die Suche erheblich. Dies ist ein optionaler Kontext .
Hier ist der interessante Teil: Bei vielen Software- und APIs wird der erforderliche Kontext normalerweise als tatsächlicher Parameter in einer Methodensignatur angezeigt, und der optionale Kontext wird an eine andere Stelle verschoben, z. B. eine flexible Schlüsselwertzuordnung, die alles enthalten kann (und möglicherweise leer ist) ) oder in einen threadlokalen Speicher, auf den bei Bedarf zugegriffen werden kann.
Die obigen Beispiele stammen aus dem wirklichen Leben, aber Sie können sie leicht auf Bereiche innerhalb der Informatik abbilden. Beispielsweise enthalten HTTP-Header Kontextinformationen. Jeder Header bezieht sich auf Informationen über die Anfrage. Wenn Sie im Rahmen eines zweiphasigen Festschreibungsprozesses eine globale Transaktions-ID senden , ist diese Transaktions-ID der Kontext. Es hilft dem Transaktionsmanager, die Arbeit zu koordinieren, da es Informationen über die jeweilige Gesamtaufgabe enthält.
Hoffentlich hilft das.
quelle
Der Kontext kann als ein Bereich angesehen werden, in dem Informationen weitergegeben werden. Es wird normalerweise verwendet, um Dinge zu übergeben, die nicht unbedingt direkt an einen Methodenaufruf gebunden sind, aber dennoch relevant sein können. Eine Art und Weise, wie Laien es beschreiben, könnte "Dinge sein, die Sie interessieren könnten".
Wenn Sie beispielsweise einen Dienst zum Aktualisieren eines Werts in einer Datenbank schreiben, übergeben Sie wahrscheinlich die Datensatz-ID und den neuen Wert.
Wenn Sie generische Schnittstellen wünschen, können Sie auch einen zu übergebenden Kontext definieren, sodass der Service eine beliebige Geschäftslogik ausführen kann. Sie können also eine Benutzerauthentifizierung, den Sitzungsstatus des Benutzers usw. in den Kontext aufnehmen, da der Dienst abhängig von diesen Werten möglicherweise zusätzliche Logik ausführt.
quelle
Dies ist 2015 - Mai Jahre nach Beginn dieses Threads.
Trotzdem poste ich diese Nachricht, um jemandem da draußen wie mir zu helfen, der Schwierigkeiten hat, "Kontext" zu verstehen.
Ich behaupte keineswegs, Context in Java-Programmen verwendet zu haben - es liegt also ganz bei Ihnen, Context in Hardcodierung zu schreiben.
Z.B
So sieht die Anfrage jetzt aus:
So
filled_form_num_23321
sieht es aus:In dieser Transaktion
filled_form_num_23321
ist der "Kontext".Ich hoffe, dies hilft bei der Klärung des Konzepts "Kontext".
quelle
Ich stelle mir den Kontext immer als einen bestimmten Zustand vor, der für das Objekt oder Konstrukt relevant ist, mit dem ich arbeite.
Wenn Sie beispielsweise drawRect in einer Ansicht verwenden (wobei alle Zeichnungen für eine Ansicht ausgeführt werden müssen), müssen Sie immer den aktuellen GraphicsContext abrufen, in den Sie Ihre grafischen Kernanweisungen ausgeben. Dieser Kontext enthält Dinge wie Grenzen der Ansicht, die Strichfarbe, die Strichstärke zum Zeichnen einer Linie, die Füllfarbe zum Füllen eines geschlossenen Pfades usw. Dieser Kontext ist (wie die meisten anderen) nur der aktuelle Status zu diesem Zeitpunkt. Stellen Sie sich den Grafikkontext in diesem Fall also nur als eine Reihe von Zuständen vor, wie z
Strichverdickung ist 1,5 Pixel Füllfarbe ist schwarz Sichtgrenzen sind (155, 200) Strichfarbe ist Rot
Es ist im Grunde der Zustand zum aktuellen Zeitpunkt ...
quelle
Um ein praktisches Beispiel zu geben. Nehmen wir an, Sie haben eine bestimmte Webseite, auf der Sie Informationen abrufen / rendern können, die auf dem Benutzer (der angemeldet ist) und der Sprache des Browsers basiert. Die Logik zum Abrufen der Informationen ist unabhängig vom Benutzer und der Sprache. Ihre Seite erhält einen Benutzer und eine Sprache ... für die Logik spielt es keine Rolle, ob ich oder Sie oder Englisch oder Spanisch sind.
Ein Pseudocode:
Es ist nicht so schwierig, aber es dauert einige Zeit, um das Konzept zu verstehen
quelle
Kontext bezieht sich auf den Ausführungskontext , dh die Symbole, die von einem bestimmten Punkt im Code aus erreichbar sind, und auf den Wert dieser Symbole in dieser bestimmten Ausführung.
Der Kontext ist ein wichtiges Konzept, weil:
Sie müssen nicht schreiben Kontextklassen oder passieren Kontext Parameter. Jeder an eine Funktion / Methode übergebene Parameter wird beim Aufrufen Teil des Ausführungskontexts.
Auch wenn Sie kein Englisch sprechen, empfehle ich Ihnen, eine Kopie von Code Complete durchzugehen, um eine sanfte und dennoch gründliche Einführung in Konzepte wie Kontext , Modularität , Kopplung , Zusammenhalt usw. zu erhalten.
quelle
Der Kontext in Ihrem Fall ist die Umgebung, in der Ihre Anwendung ausgeführt wird.
Es bietet Informationen / Dienste / Fähigkeiten, die Ihre Anwendung benötigt, um ordnungsgemäß ausgeführt zu werden.
HTH
quelle
Allzu oft geht der Autor davon aus, dass der Leser ein detailliertes Verständnis des Kontexts hat, in dem das Wort "Kontext" verwendet wird.
Wie definiere ich den Kontext im folgenden Satz? "Die? Laufzeit erstellt einen Kontext, in dem die möglichen Werte für die Injektion gespeichert werden können. Dieser Kontext kann geändert werden, z. B. können die Anwendung und das Framework dem Kontext Elemente hinzufügen.
Es scheint, dass der Autor Kontext verwendet, um eine Art Container zu bezeichnen, vielleicht einen Haufen, der den Kontext von etwas enthält. Es ist zu einem Modewort geworden, das viele Bedeutungen und verwirrende Dinge annimmt. Sind es die Elemente, die den Kontext bilden und in einem Kontext gespeichert werden? Um die Verwirrung des Kontexts zu verringern, dass das Wort Kontext verwendet wird, könnte man sagen, dass "die Laufzeit einen Container erstellt, um den Kontext in Form von Elementen zu speichern". Besser noch "Die Laufzeit erstellt einen Container, um den Status in Form von Elementen zu speichern, und dieser Container mit seinem Status wird als KONTEXT bezeichnet."
quelle
3 Jahre später also vielleicht etwas spät, aber vielleicht würde dir dieser Thread helfen. Es zeigt, dass das Wort "Kontext" eine technische Bedeutung in der Programmierung hat (nicht nur eine einfache englische Bedeutung).
Welche Programmiersprachen sind kontextfrei?
Ich bin mir nicht sicher, ob Sie es als Beispiel verwenden und einige Informationen daraus ziehen können oder nicht. Auch ich würde gerne eine sprachunabhängige Erklärung des technischen Programmierbegriffs "Kontext" hören.
Bearbeiten: Oder es zeigt zumindest, dass der Begriff "Kontext" in einem technischen Programmierkontext angewendet werden kann (kein Wortspiel beabsichtigt). Möglicherweise in mehr als einer konkreten Anwendung des Begriffs.
quelle