Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.
Книга «CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#»
Версия для печати и PDA
Книга «CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#» представляет собой подробное описание внутреннего устройства и принципов функционирования CLR – общеязыковой исполняющей среды Microsoft .NET Framework и объясняет, как разрабатывать приложения и повторно используемые классы. Вы узнаете, как работает CLR и какие возможности она предоставляет. Кроме этого рассмотрены различные составляющие FCL – Framework Class Library, и основные типы данных, с которыми должен быть знаком каждый разработчик любых видов приложений на платформе с .NET Framework, будь то Windows Forms, Web сервис, Web Forms или что-то еще. Все технологии, рассмотренные в этом издании, так или иначе используются при разработке практически любого приложения для платформы .NET Framework. Второе издание выпущено с учетом отзывов читателей и исправлений ее автора – Джеффри Рихтера, и станет незаменимым подспорьем для разработчика приложений на платформе .NET Framework.
Структура книги «CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#»
I. Основы CLR
Модель выполнения кода в среде CLR
Компиляция исходного кода в управляемые модули
Объединение управляемых модулей в сборку
Загрузка CLR
Исполнение кода сборки
NGen.exe – генератор машинного кода
Библиотека классов .NET Framework
Общая система типов
Общеязыковая спецификация
Взаимодействие с неуправляемым кодом
Компоновка, упаковка, развертывание и администрирование приложений и типов
Простое средство администрирования (конфигурационный файл)
Совместно используемые сборки и сборки со строгим именем
Два вида сборок – два вида развертывания
Назначение сборке строгого имени
Глобальный кеш сборок
Компоновка сборки, ссылающейся на сборку со строгим именем
Устойчивость сборок со строгими именами к несанкционированной модификации
Отложенное подписание
Закрытое развертывание сборок со строгими именами
Как исполняющая среда разрешает ссылки на типы
Дополнительные административные средства (конфигурационные файлы)
II. Работаем с типами
Основы типов
Все типы – производные от System.Object
Приведение типов
Приведение типов в C# с помощью операторов is и as
Пространства имен и сборки
Как разные компоненты взаимодействуют во время выполнения
Элементарные, ссылочные и значимые типы
Элементарные типы в языках программирования
Ссылочные и значимые типы
Упаковка и распаковка значимых типов
Изменение полей в упакованных размерных типах посредством интерфейсов
Равенство и тождество объектов
Хеш-коды объектов
III. Проектирование типов
Основные сведения о членах и типах
Члены типа
Видимость типа
Доступ к членам
Статические классы
Частичные классы, структуры и интерфейсы
Компоненты, полиморфизм и версии
Константы и поля
Константы
Поля
Методы: конструкторы, операторы, преобразования и параметры
Конструкторы экземпляров и классы (ссылочные типы)
Конструкторы экземпляров и структуры (значимые типы)
Конструкторы типов
Методы перегруженных операторов
Методы операторов преобразования
Передача методу параметров по ссылке
Передача методу переменного числа параметров
Объявление типов параметров метода
Методы-константы и параметры-константы
Свойства
Свойства без параметров
Свойства с параметрами
Производительность при вызове аксессоров свойств
Доступность аксессоров свойств
Обобщенные методы-аксессоры свойств
События
Проектирование типа, поддерживающего событие
Как реализуются события
Создание типа, отслеживающего событие
События и безопасность потоков
Явное управление регистрацией событий
Конструирование типа с множеством событий
IV. Важнейшие типы
Символы, строки и обработка текста
Символы
Тип System.String
Строки не изменяются
Эффективное создание строки динамически
Получение строкового представления объекта
Получение объекта посредством разбора строки
Кодировки: преобразования между символами и байтами
Защищенные строки
Перечислимые типы и битовые флаги
Перечислимые типы
Битовые флаги
Массивы
Приведение типов в массивах
Все массивы неявно наследуют классу System.Array
Все массивы неявно реализуют IEnumerable, ICollection и IList
Создание массивов с ненулевой нижней границей
Производительность доступа к массиву
Небезопасный доступ к массивам и массивы фиксированного размера
Интерфейсы
Наследование в классах и интерфейсах
Определение интерфейсов
Наследование интерфейсов
Подробнее о вызовах интерфейсных методов
Явные и неявные реализации методов интерфейса (что происходит за кулисами)
Обобщенные интерфейсы
Обобщения и ограничение интерфейса
Реализация нескольких интерфейсов с одинаковыми сигнатурами и именами методов
Улучшение контроля типов при помощи явной реализации методов интерфейса
Осторожно с явной реализацией методов интерфейсов
Дилемма проектировщика: базовый класс или интерфейс
Делегаты
Знакомство с делегатами
Использование делегатов для обратного вызова статических методов
Использование делегатов для обратного вызова экземплярных методов
Правда о делегатах
Использование делегатов для обратного вызова множественных методов (цепочки делегатов)
Упрощение синтаксиса работы с делегатами в C#
Делегаты и отражение
Обобщения
Обобщения в библиотеке FCL
Библиотека Power Collections от Wintellect
Инфраструктура обобщений
Обобщенные интерфейсы
Обобщенные делегаты
Обобщенные методы
Обобщения и другие члены
Верификация и ограничения
Нестандартные атрибуты
Применение нестандартных атрибутов
Определение собственного класса атрибутов
Конструктор атрибута и типы данных полей/свойств
Обнаружение использования нестандартных атрибутов
Сравнение двух экземпляров атрибута
Обнаружение использования нестандартных атрибутов без создания объектов, производных от Attribute
Условные атрибутные классы
Значимые типы, допускающие присвоение null
Поддержка значимых типов, допускающих присвоение null, в C#
Оператор интеграции null в языке C#
CLR обеспечивает специальную поддержку значимых типов, допускающих присвоение null
V. Средства CLR
Исключения
Эволюция обработки исключений
Механика обработки исключений
Общеязыковая спецификация (CLS) и исключения, отличные от CLS-совместимых
Что же это такое – исключение
Класс System.Exception
Классы исключений, определенные в FCL
Генерация исключений
Определение собственных классов исключений
Как правильно использовать исключения
Вопросы быстродействия
Необработанные исключения
Трассировка стека при исключениях
Отладка исключений
Автоматическое управление памятью (сбор мусора)
Основы работы платформы, поддерживающей сбор мусора
Алгоритм сбора мусора
Сбор мусора и отладка
Использование завершения для освобождения машинных ресурсов
Применение завершения к управляемым ресурсам
Когда вызываются методы Finalize
Внутренний механизм завершения
Модель освобождения ресурсов: принудительная очистка объекта
Использование типов, поддерживающих модель освобождения ресурсов
Оператор using языка C#
Интересная проблема с зависимостью
Ручной мониторинг и управление временем жизни объектов
Воскрешение
Поколения
Прогнозирование успеха операции, требующей много памяти
Управление сборщиком мусора из программ
Другие вопросы производительности сборщика мусора
Мониторинг сбора мусора
Хостинг CLR и домены приложения (AppDomains)
Хостинг CLR
Домены приложения
Выгрузка доменов AppDomain
Как хосты используют домены AppDomain
Другие методы управления хостом
Загрузка сборок и отражение
Загрузка сборок
Использование отражения для создания динамически расширяемых приложений
Производительность отражения
Создание приложений с поддержкой подключаемых компонентов
Использование отражения для обнаружения членов типа
Асинхронные операции
Потоки Windows в CLR
К вопросу об эффективном использовании потоков
Пул потоков в CLR
Ограничение числа потоков в пуле
Использование пула потоков для выполнения асинхронных вычислительных операций
Использование выделенного потока для выполнения асинхронной операции
Периодическое выполнение асинхронной операции
Модель асинхронного программирования
Использование модели APM для выполнения асинхронного ввода-вывода
Три метода стыковки в модели APM
Использование модели APM для выполнения асинхронных вычислительных операций
Модель APM и исключения
Важные замечания о модели APM
Контексты выполнения
Синхронизация потоков
Целостность памяти, временный доступ к памяти и volatile-поля
Семейство Interlocked-методов
Класс Monitor и блоки синхронизации
Класс ReaderWriterLock
Использование объектов ядра Windows в управляемом коде
В книге «CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#» все примеры кода, демонстрирующие возможности CLR и доступ к типам FCL, написаны на языке C#. Поэтому вы также сможете много узнать и о том, как профессионально программировать на C#. Предполагается, что читатель знаком с концепциями объектно-ориентированного программирования: абстрагирование данных, наследование и полиморфизм. Хорошее понимание этих концепций очень важно, поскольку весь функционал .NET Framework реализован посредством объектно-ориентированной модели.
Формат: PDF + Примеры кода Качество: eBook Страниц: 656