Язык программирования С# 2005 и платформа .NET 2.0. - [4]

Шрифт
Интервал

Часть III. Программирование компоновочных блоков .NET

В этой части рассматривается формат компоновочных блоков .NET. Вы узнаете, как развернуть и сконфигурировать библиотеки программного кода .NET, и выясните внутреннюю структуру бинарного образа .NET. В этой же части объясняется роль атрибутов .NET и конструкция многопоточных приложений. В последних главах этой части рассматриваются низкоуровневые вопросы [такие как, например, объектный контекст), а также синтаксис и семантика CIL.

Глава 11. Компоновочные блоки .NET

С точки зрения высокоуровневого подхода, компоновочные блоки – это файлы *.dll или *.exe. Но такая интерпретация компоновочных блоков .NET очень далека от "исчерпывающей". Вы узнаете, чем отличаются одномодульные и многомодульные компоновочные блоки и как строятся и инсталлируются такие объекты. Вы научитесь конфигурировать приватные и общедоступные компоновочные блоки, используя для этого XML-файлы *.config и компоновочные блоки политики поставщика. По ходу дела будут выяснены внутренняя структура GAC (Global Assembly Cache – глобальный кэш компоновочных блоков) и роль утилиты конфигурации .NET Framework 2.0.

Глава 12. Отображение типов, динамическое связывание и программирование с помощью атрибутов

В главе 12 изучение компоновочных блоков .NET продолжается – здесь рассматривается процесс обнаружения типов в среде выполнения с помощью пространства имен System.Reflection. С помощью этих типов можно строить приложения, способные читать метаданные компоновочных блоков "на лету". Вы узнаете, как динамически активизировать и обрабатывать типы во время выполнения программы, используя динамическое связывание. Здесь же исследуется роль атрибутов .NET (как стандартных, так и создаваемых программистом). Чтобы иллюстрировать возможности применения обсуждавшихся подходов, в конце главы рассматривается конструкция расширяемого приложения Windows Forms.

Глава 13. Процессы, домены приложений, контексты и хосты CLR

Здесь выполняется более глубокий анализ структуры загруженного выполняемого файла .NET. Главная цель – иллюстрация взаимосвязи между процессами, доменами приложений и границами контекстов. Определив эти объекты, вы сможете понять, как обслуживается CLR в рамках операционной системы Windows, и расширить свои знания о mscoree.dll. Представленная здесь информация может оказаться очень полезной при освоении материала главы 14.

Глава 14. Создание многопоточных приложений

В этой главе объясняется, как строить многопоточные приложения, и иллюстрируется ряд приемов, которые вы можете использовать для создания программного кода, безопасного с точки зрения многопоточных приложений. В начале главы снова обсуждается тип делегата .NET, и это делается с целью выяснения внутренних механизмов делегата, используемых для поддержки асинхронного вызова методов. Затем исследуются типы пространства имен System.Threading. Здесь обсуждается множество типов (Thread, ThreadStart, и т.п.), позволяющих очень просто создавать дополнительные потоки.

Глава 15. Понимание CIL и роль динамических компоновочных блоков

В этой главе ставится две цели. В первой половине главы рассматриваются синтаксис и семантика CIL, намного более подробно, чем в предыдущих главах. Остаток главы посвящен выяснению роли пространства имен System.Reflection. Emit. С помощью соответствующих типов можно строить программное обеспечение, позволяющее генерировать компоновочные блоки .NET в памяти во время выполнения программы. Компоновочные блоки, определенные и выполняемые в памяти, формально называют динамическими компоновочными блоками.

Часть IV. Программирование с помощью библиотек .NET

К этому моменту вы уже имеете достаточно информации о языке C# и формате компоновочных блоков .NET. Часть IV предлагает расширить ваши новые знания и исследовать целый ряд пространств имен в рамках библиотек базовых классов, в частности файловый ввод-вывод, слой удаленного доступа .NET, конструкцию Windows Forms и доступ к базам данных с помощью ADO.NET.

Глава 16. Пространство имен System.IO

По названию указанного пространства имен можно догадаться, что System.IO обеспечивает взаимодействие со структурой файлов и каталогов соответствующей машины. Из этой главы вы узнаете, как программными средствами можно создать (или уничтожить) систему каталогов, как размещать данные внутри различных потоков (файловых, строковых, в памяти и т.д.) и как выводить их оттуда.

Глава 17. Сериализация объектов

В этой главе рассматриваются сервисы сериализации объектов для платформы .NET. Упрощенно говоря, сериализация позволяет ''консервировать" состояние объекта (или множества связанных объектов) в потоке для использования в будущем. Десериализация (как вы можете догадаться сами) является процессом извлечения объекта из потока для восстановления в памяти с целью использования этого объекта в приложении. Поняв базовые принципы этих процессов, вы сможете управлять процессами сериализации с помощью интерфейса ISerializable и множества новых атрибутов, предлагаемых .NET 2.0.

Глава 18. Удаленное взаимодействие .NET

Вопреки распространенному убеждению. Web-сервисы XML нe являются единcтвенным средством построения распределенных приложений для платформы .NET. Из этой главы вы узнаете о слое удаленного доступа .NET. Вы увидите, что CLR поддерживает простые возможности обмена объектами между приложениями из разных доменов и на разных машинах, используя семантику MBV (marshal-bу-value – маршалинг по значению) и MBR (marshal-by-reference – маршалинг по ссылке). По ходу дела вы узнаете, как в декларативной форме во время выполнения можно изменить поведение распределенного .NET-приложения, используя XML-файлы конфигурации.


Рекомендуем почитать
Язык PL/SQL

В учебно-методическом пособии рассматриваются основы языка программирования PL/SQL, реализованного в системе управления базами данных Oracle Database Server. Приводятся сведения о поддерживаемых типах данных, структуре программ PL/SQL и выполнении SQL-предложений в них. Отдельно рассмотрено создание хранимых в базах данных Oracle программ PL/SQL – процедур, функций, пакетов и триггеров.


Введение в Direct3D8

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Пишем драйвер Windows на ассемблере

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Вариации на тему STL. Адаптер обобщенного указателя на функцию-член класса

В книге рассказывается история главного героя, который сталкивается с различными проблемами и препятствиями на протяжении всего своего путешествия. По пути он встречает множество второстепенных персонажей, которые играют важные роли в истории. Благодаря опыту главного героя книга исследует такие темы, как любовь, потеря, надежда и стойкость. По мере того, как главный герой преодолевает свои трудности, он усваивает ценные уроки жизни и растет как личность.


Информационная технология. Руководство по управлению документированием программного обеспечения

ГОСУДАРСТВЕННЫЙ СТАНДАРТ РОССИЙСКОЙ ФЕДЕРАЦИИИнформационная технологияРУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯInformation technology. Guidelines for the management of software documentationИздание официальноеДата введения 1994-07-01ГОССТАНДАРТ РОССИИ Москва© Издательство стандартов, 1994.


Самоучитель UML

Самоучитель UMLПервое издание.В книге рассматриваются основы UML – унифицированного языка моделирования для описания, визуализации и документирования объектно-ориентированных систем и бизнес-процессов в ходе разработки программных приложений. Подробно описываются базовые понятия UML, необходимые для построения объектно-ориентированной модели системы с использованием графической нотации. Изложение сопровождается примерами разработки отдельных диаграмм, которые необходимы для представления информационной модели системы.