Учебно-методическое пособие Новочеркасск юргту (нпи) 2011 г. Удк 004 : 012 (076) ббк 32. 81 : 30. 18 я 73
Вид материала | Учебно-методическое пособие |
- Учебно-методическое пособие Новочеркасск юргту (нпи) 2011 г. Удк 004 : 012 (076) ббк, 1329.07kb.
- Учебно-методическое пособие Новочеркасск 2006 удк 004. 4 (07), 341.54kb.
- Практикум Новочеркасск юргту (нпи) 2010 удк 330 (075. 8) Ббк 65. 012. 1я73, 2097.42kb.
- Программно-технический комплекс Учебное пособие Новочеркасск юргту (нпи) 2010. Удк, 3911.73kb.
- Neural Network Wizard 7 учебно-методическое пособие, 702.9kb.
- Пособие предназначено для студентов специальности «Прикладная информатика (в экономике)», 1911.82kb.
- Учебно-методическое пособие Тольятти тгу 2011 удк 004. 3(075) ббк 32., 1091.77kb.
- Пособие предназначено для студентов, изучающих курсы «Экономики» и«Экономической теории», 4766.75kb.
- Учебное пособие к практическим занятиям по дисциплине «Физическая культура» Новочеркасск, 1055.75kb.
- Данное пособие предназначено для кураторов академических групп младших курсов, а также, 1695.39kb.
Лекция 10. Контекст
Контекст (от лат. contextus — сцепление, соединение, связь), относительно законченный по смыслу отрывок текста или речи, в пределах которого наиболее точно и конкретно выявляется смысл и значение отдельного входящего в него слова (фразы) или взятого из него в качестве цитаты выражения. Вне К. ("вырванная из К."), с которым цитата сопряжена стилистически и по смыслу, она может приобретать иное, даже противоположное, значение. В художественной литературе К. определяет конкретное содержание, выразительность и стилистическую окраску не только отдельных слов, фраз, высказываний, но и различных художественных средств (в т. ч. поэтических фигур, стихотворных ритмов и др.). К. определяет отбор слов данного стилистического ряда (см., например, запись А. Блока во время работы над образом Гаэтана в пьесе "Роза и Крест": "не глаза, а очи, не волосы, а кудри, не рот, а уста"). Нарушение К. разрушает художественное единство текста и самый художественный образ (вне К., например, нельзя уловить иронию), а иногда используется для стилистического эффекта, например в пародиях.
Яндекс.Словари›Большая советская энциклопедия
от лат. contextus — сцепление, соединение, связь) — относительно законченный по смыслу отрывок текста или устной речи, в пределах которого наиболее точно и конкретно выявляется смысл и значение отдельного входящего в него слова, фразы, совокупности фраз. В логике и методологии научного познания К. понимается как отдельное рассуждение, фрагмент научной теории или теория в целом. В дополнение к основному семантическому значению, которым обладает слово или предложение, взятые сами по себе, К. придает им добавочное значение, более того, он может существенно изменить это основное значение слов и предложений. Поэтому в разных К. слова и предложения могут приобретать различные значения. Иногда К. целиком придает значение некоторому термину. В таких случаях говорят о контекстуальном определении термина (см.: Определение контекстуальное) Вопрос о контекстуальном значении научных терминов привлекает широкое внимание в методологии научного познания в связи с анализом развития научного знания, переходом терминов из старой теории в новую и изменением их значений при таких переходах.
Что такое контексты и зачем они нужны?
Вольный перевод определения контекста из MSDN говорит примерно следующее: "Контекст – это упорядоченный набор свойств, определяющих окружение для объектов, которые исполняются в нем." Создается контекст на этапе активации объекта, для работы которого нужны те или иные службы (JIT-активация, поддержка транзакций, синхронизация, безопасность и многое другое). Естественно, что в рамках одного контекста может существовать несколько объектов.
Ядром инфраструктуры контекстов является класс Context (пространство имен System.Runtime.Remoting.Contexts). Рассмотрим его основные методы:Context Constructor Конструктор класса. Обычно контексты создаются в процессе активации ContextBoundObject (CBO), но иногда может потребоваться явно создать новый контекст.
SetProperty Установить свойство контекста.
GetProperty Получить свойство контекста.
Freeze Заморозить контекст. «Заморозка» контекста подразумевает, что все нужные свойства контекста уже добавлены, и мы готовы начать его использование.
DoCallBack Сделать обратный вызов в контекст. Этот метод аналогичен методу AppDomain.DoCallBack с единственным отличием, что вызов будет обрабатываться в другом контексте.
RegisterDynamicProperty Регистрация динамического свойства.
UnregisterDynamicProperty Удалить динамическое свойство.
Есть и несколько других методов, но они не представляют особого интереса (при желании можно посмотреть полный список методов в MSDN).
Как уже упоминалось, использование контекстов тесно связано с классом ContextBoundObject. Это единственный класс (не считая его наследников), для которого всегда создается контекст исполнения. Естественно, встает вопрос – как управлять созданием контекста и наполнением его свойствами?
Наверное, все знают о механизме атрибутов в .NET Framework и о том, как их можно использовать для расширения метаинформации о классе. Контексты в этом случае не исключение. Здесь также активно используются атрибуты для описания дополнительных возможностей. И основным атрибутом здесь выступает ContextAttribute. Обычно этот атрибут используется для управления созданием нового контекста и определения свойств создаваемого контекста. К атрибутам и свойствам мы вернемся чуть позже, а пока рассмотрим, как обеспечивается взаимодействие с CBO.
Работа с CBO в .NET Framework построена на использовании связки TransparentProxy и RealProxy. И здесь программист может столкнуться с уже упоминавшейся трудностью – отсутствием документации. Если RealProxy еще худо-бедно документирован, то с TransparentProxy дела обстоят хуже. В MSDN есть несколько незначительных упоминаний о том, что он существует, и что обычному программисту он не нужен. TP трудно назвать полноценным классом – это, скорее, некий мост между средой исполнения и управляемым кодом. Поэтому легко можно обойтись без документации, так как единственное, что необходимо помнить – это то, что в нем хранится ссылка на RealProxy и некий объект под названием StubData, который используется для принятия решения о том, какой из механизмов вызова методов CBO-объекта будет использоваться (рисунок 1).
Естественно, что это создает один из побочных эффектов – все (sic!) обращения к CBO идут через TransparentProxy (TP), что вносит накладные расходы.
Но это все относится к механизмам работы с ContextBoundObject, а пока мы вернемся к самому началу и рассмотрим механизм создания CBO. Поговорим и о том, на основе какой информации принимается решение о создании для объекта нового контекста или использовании существующего контекста.
Каждый раз, когда исполняемая среда создаёт объект, требующий управляемой активации, она проверяет наличие у этого объекта атрибутов контекста. У этих атрибутов запрашивается два специальных интерфейса – IContextAttribute и IСontextProperty (ContextBoundAttribute реализует оба этих интерфейса). Интерфейс IContextAtrtribute используется для принятия решения о создании нового контекста и наполнении его свойствами, а IContextProperty используется для описания свойств контекста. Активация любого ContextBound-объекта производится в несколько этапов (рисунок 2).
IContextAttribute.IsContextOK – каждый атрибут проверяет пригодность текущего контекста для активации. Если хоть один атрибут возвращает false, то принимается решение о создании нового контекста;
IContextAttribute.GetPropertiesForNewContext – если было принято решение о создании нового контекста, каждый атрибут получает возможность добавить в новый контекст свой список свойств;
IContextProperty.Freeze – каждое свойство уведомляется о том, что инициализация контекста завершена, и оно должно зафиксировать свое состояние;
IContextProperty.IsNewContextOK – после фиксации состояния контекста каждое свойство получает возможность проверить корректность созданного контекста и если, все в порядке, то дальше начинается процесс активации объекта.
Обычно интерфейсы IContextAttribute и IContextProperty напрямую не используются, а используется класс ContextAttribute реализующий оба этих интерфейса.
Приложение 1
Информационные технологии
12
1Фотоколлаж 2Иконка
3Таблица
учебное издание
Гладышева Ольга Александровна
Информационные технологии в дизайне :
учеб. -метод. пособие
(данные, заполняемые издательством)
__________________________________
__________________________________
__________________________________