Я программирую уже несколько месяцев, и часто используемое слово «контекст» в классах. Как ServletContext
(Java), Activity
(Android), Service
(Java, Android), NSManagedContext
(Objective-C, iOS).
Просматривая словари, я вижу, что слово означает: ситуация, окружающая среда, обстоятельства и т. Д. Однако, поскольку я не являюсь носителем английского языка, я не понимаю, к чему мне следует переводить его напрямую. Например, если бы мне нужно было написать класс с именем SomeClassContext
или методом с параметром контекста, я бы не понял, когда мне следует назвать его контекстом, потому что я его не понимаю.
Я искал контекст в переполнении стека, но ни один вопрос / ответ не смог мне помочь.
Я был бы очень рад, если бы кто-то мог дать мне объяснение.
Ответы:
Допустим, вы идете к стоматологу, чтобы вытащить зуб.
Когда администратор спрашивает у вас ваше имя, это информация, которая им нужна, чтобы начать встречу. В этом примере ваше имя является контекстной информацией . Таким образом , в контексте посещения стоматолога, вам необходимо указать свое имя , чтобы получить ваш зуб тянул.
Теперь допустим, что вы идете в банк.
В банке вы просите снять 100 долларов. Кассир должен подтвердить свою личность, прежде чем давать вам деньги, поэтому вам, вероятно, придется предъявить им водительские права или провести пальцем по своей карте банкомата и ввести свой PIN-код. В любом случае, вы предоставляете контекст . Кассир использует эту информацию для продвижения транзакции. Затем они могут спросить вас, с какого аккаунта вы хотите снять деньги. Когда вы отвечаете «Мой сберегательный счет» , это еще более контекстно .
Чем больше контекста вы дадите, тем больше знаний у другой стороны, чтобы помочь обработать ваш запрос. Иногда контекст является необязательным (например, вводит все больше и больше слов в поиске Google, чтобы получить лучшие результаты), а иногда это требуется (например, ввод PIN-кода в банкомате). В любом случае, это информация, которая обычно помогает сделать вещи.
Теперь предположим, что вы берете свои 100 долларов и покупаете билет на самолет, чтобы летать куда-нибудь теплым, пока заживает рот.
Вы прибываете в хороший солнечный пункт назначения, но ваша сумка не делает это. Это потеряно где-то в системе аэропорта. Таким образом, вы берете свой «билет для получения багажа» (тот стикер со штрих-кодом на нем) в «Бюро пропавших багажа». Первое, что попросит человек за стойкой регистрации, - это билет с номером вашего багажа. Это пример некоторого необходимого контекста .
Но затем багажщик запрашивает у вас дополнительную информацию о вашей сумке, например, чтобы им было легче ее найти. Они спрашивают: « Какого оно цвета? Какой у него размер? Есть ли у него колеса? Твердые или мягкие? Хотя им не обязательно нужны эти фрагменты информации, это помогает сузить круг вопросов, если вы их предоставите. проблемная область. Это делает поиск намного быстрее. Это необязательный контекст .
Вот интересная часть: для многих программ и API требуемый контекст обычно заканчивается как фактические параметры в сигнатуре метода, а необязательный контекст уходит куда-то еще, например, гибкая карта значения ключа, которая может содержать что угодно (и может быть пустой). ) или в локальное хранилище, где к нему можно получить доступ при необходимости.
Приведенные выше примеры взяты из реальной жизни, но вы можете легко сопоставить их с областями информатики. Например, заголовки HTTP содержат контекстную информацию. Каждый заголовок относится к информации о выполняемом запросе. Или когда вы отправляете глобальный идентификатор транзакции как часть процесса двухфазного принятия , этот идентификатор транзакции является контекстом. Это помогает менеджеру транзакций координировать работу, потому что это информация об общей задаче.
Надеюсь, это поможет.
источник
Контекст можно рассматривать как контейнер для передачи информации. Обычно он используется для передачи вещей, которые не обязательно связаны напрямую с вызовом метода, но могут быть уместны. Непрофессионал способ описать это может быть "вещи, которые вы можете заботиться".
Например, если вы пишете сервис для обновления значения в БД, вы, вероятно, передадите идентификатор записи и новое значение.
Если вам нужны универсальные интерфейсы, вы также можете определить передаваемый контекст, чтобы служба могла выполнять произвольную бизнес-логику. Таким образом, вы можете включить аутентификацию пользователя, состояние сеанса пользователя и т. Д. В контекст, так как сервис может выполнять дополнительную логику в зависимости от этих значений.
источник
Это 2015 год, а может и годы после начала этой темы.
Тем не менее, я отправляю это сообщение, чтобы помочь кому-то там, как я, который изо всех сил пытается понять "Контекст"
Я ни в коем случае не утверждаю, что использовал Context в программах на Java - так что вам остается только написать Context в жестком кодировании.
Например
Вот как выглядит запрос:
Вот как
filled_form_num_23321
выглядит:В этой транзакции
filled_form_num_23321
есть «контекст».Надеюсь, что это помогает прояснить понятие «Контекст».
источник
я всегда думаю о контексте как о конкретном состоянии, относящемся к объекту или конструкции, с которыми я работаю.
Например, когда вы используете drawRect в виде (где все рисование должно быть сделано для вида), вы всегда должны получить currentGraphicsContext, в который вы будете выдавать свои основные графические операторы. Этот контекст содержит такие вещи, как границы вида, цвет обводки, толщина обводки для рисования линии, цвет заливки для заполнения замкнутого контура и т. Д. Этот контекст (как и большинство других) является просто текущим состоянием на данный момент времени. так что думайте о графическом контексте в этом случае как о наборе состояний, таких как
толщина обводки 1,5 пикселя; цвет заливки черный; границы обзора (155, 200) цвет обводки красный
Это в основном состояние на текущий момент времени ...
источник
Чтобы привести практический пример. Допустим, у вас есть определенная веб-страница для извлечения / отображения некоторой информации в зависимости от пользователя (который вошел в систему) и языка браузера. Логика извлечения информации не зависит от пользователя и языка. Ваша страница получит пользователя и язык ... для логики не имеет значения, если это я или вы, английский или испанский.
Какой-то псевдокод:
Это не так сложно, но требуется некоторое время, чтобы понять концепцию
источник
Контекст относится к контексту выполнения , который является символами, достижимыми из заданной точки в коде, и значению этих символов в этом конкретном выполнении.
Контекст является важной концепцией, потому что:
Вам не нужно писать классы контекста или передавать параметры контекста . Любой параметр, переданный функции / методу, становится частью контекста выполнения при его вызове.
Несмотря на то, что вы не говорите по-английски, я рекомендую вам ознакомиться с копией Code Complete, чтобы аккуратно и в то же время тщательно изучить такие понятия, как контекст , модульность , связь , сплоченность и т. Д.
источник
Контекст в вашем случае - это среда, в которой работает ваше приложение.
Он предоставляет информацию / услуги / возможности, которые понадобятся вашему приложению для правильной работы.
НТН
источник
Слишком часто автор предполагает, что у читателя есть детальное понимание контекста, в котором используется слово «контекст».
Как определить контекст в следующем предложении «Среда выполнения? Создает контекст, в котором могут быть сохранены возможные значения для внедрения. Этот контекст может быть изменен, например, приложение и инфраструктура могут добавлять элементы в контекст.
Казалось бы, автор использует контекст для обозначения некоторого контейнера, возможно, кучи, которая содержит контекст чего-либо. Это стало модным словом, которое приобретает много смысла и запутывает вещи. Элементы, которые являются контекстом и хранятся в контексте. Чтобы уменьшить путаницу в контексте использования слова context, можно сказать, что «среда выполнения создает контейнер для хранения контекста в форме элементов». Более того, «среда выполнения создает контейнер для хранения состояния в форме элементов, и этот контейнер с его состоянием называется КОНТЕКСТ».
источник
Спустя 3 года, может быть, немного поздно, но, возможно, эта ветка поможет вам. Это показывает, что слово «контекст» имеет техническое значение в программировании (а не просто английское значение).
Какие языки программирования не зависят от контекста?
Не уверен, что вы можете использовать его в качестве примера и извлечь из него некоторую информацию или нет. Я также хотел бы услышать независимое от языка объяснение термина технического контекста "контекст"
Редактировать: Или, по крайней мере, показывает, что термин «контекст» может применяться в техническом, программном контексте (без намерений). Возможно в более чем одном конкретном применении этого термина.
источник