CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#
Книга «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
- Исполнение кода сборки
- NGen.exe – генератор машинного кода
- Библиотека классов .NET Framework
- Общая система типов
- Общеязыковая спецификация
- Взаимодействие с неуправляемым кодом
- Задачи развертывания в .NET Framework
- Компоновка типов в модуль
- Несколько слов о метаданных
- Объединение модулей для создания сборки
- Ресурсы со сведениями о версии сборки
- Региональные стандарты
- Развертывание простых приложений (закрытое развертывание сборок)
- Простое средство администрирования (конфигурационный файл)
- Два вида сборок – два вида развертывания
- Назначение сборке строгого имени
- Глобальный кеш сборок
- Компоновка сборки, ссылающейся на сборку со строгим именем
- Устойчивость сборок со строгими именами к несанкционированной модификации
- Отложенное подписание
- Закрытое развертывание сборок со строгими именами
- Как исполняющая среда разрешает ссылки на типы
- Дополнительные административные средства (конфигурационные файлы)
II. Работаем с типами
- Все типы – производные от System.Object
- Приведение типов
- Приведение типов в C# с помощью операторов is и as
- Пространства имен и сборки
- Как разные компоненты взаимодействуют во время выполнения
- Элементарные типы в языках программирования
- Ссылочные и значимые типы
- Упаковка и распаковка значимых типов
- Изменение полей в упакованных размерных типах посредством интерфейсов
- Равенство и тождество объектов
- Хеш-коды объектов
III. Проектирование типов
- Члены типа
- Видимость типа
- Доступ к членам
- Статические классы
- Частичные классы, структуры и интерфейсы
- Компоненты, полиморфизм и версии
- Константы
- Поля
- Конструкторы экземпляров и классы (ссылочные типы)
- Конструкторы экземпляров и структуры (значимые типы)
- Конструкторы типов
- Методы перегруженных операторов
- Методы операторов преобразования
- Передача методу параметров по ссылке
- Передача методу переменного числа параметров
- Объявление типов параметров метода
- Методы-константы и параметры-константы
- Свойства без параметров
- Свойства с параметрами
- Производительность при вызове аксессоров свойств
- Доступность аксессоров свойств
- Обобщенные методы-аксессоры свойств
- Проектирование типа, поддерживающего событие
- Как реализуются события
- Создание типа, отслеживающего событие
- События и безопасность потоков
- Явное управление регистрацией событий
- Конструирование типа с множеством событий
IV. Важнейшие типы
- Символы
- Тип System.String
- Строки не изменяются
- Эффективное создание строки динамически
- Получение строкового представления объекта
- Получение объекта посредством разбора строки
- Кодировки: преобразования между символами и байтами
- Защищенные строки
- Перечислимые типы
- Битовые флаги
- Приведение типов в массивах
- Все массивы неявно наследуют классу System.Array
- Все массивы неявно реализуют IEnumerable, ICollection и IList
- Создание массивов с ненулевой нижней границей
- Производительность доступа к массиву
- Небезопасный доступ к массивам и массивы фиксированного размера
- Наследование в классах и интерфейсах
- Определение интерфейсов
- Наследование интерфейсов
- Подробнее о вызовах интерфейсных методов
- Явные и неявные реализации методов интерфейса (что происходит за кулисами)
- Обобщенные интерфейсы
- Обобщения и ограничение интерфейса
- Реализация нескольких интерфейсов с одинаковыми сигнатурами и именами методов
- Улучшение контроля типов при помощи явной реализации методов интерфейса
- Осторожно с явной реализацией методов интерфейсов
- Дилемма проектировщика: базовый класс или интерфейс
- Знакомство с делегатами
- Использование делегатов для обратного вызова статических методов
- Использование делегатов для обратного вызова экземплярных методов
- Правда о делегатах
- Использование делегатов для обратного вызова множественных методов (цепочки делегатов)
- Упрощение синтаксиса работы с делегатами в C#
- Делегаты и отражение
- Обобщения в библиотеке FCL
- Библиотека Power Collections от Wintellect
- Инфраструктура обобщений
- Обобщенные интерфейсы
- Обобщенные делегаты
- Обобщенные методы
- Обобщения и другие члены
- Верификация и ограничения
- Применение нестандартных атрибутов
- Определение собственного класса атрибутов
- Конструктор атрибута и типы данных полей/свойств
- Обнаружение использования нестандартных атрибутов
- Сравнение двух экземпляров атрибута
- Обнаружение использования нестандартных атрибутов без создания объектов, производных от Attribute
- Условные атрибутные классы
- Поддержка значимых типов, допускающих присвоение null, в C#
- Оператор интеграции null в языке C#
- CLR обеспечивает специальную поддержку значимых типов, допускающих присвоение null
V. Средства CLR
- Эволюция обработки исключений
- Механика обработки исключений
- Общеязыковая спецификация (CLS) и исключения, отличные от CLS-совместимых
- Что же это такое – исключение
- Класс System.Exception
- Классы исключений, определенные в FCL
- Генерация исключений
- Определение собственных классов исключений
- Как правильно использовать исключения
- Вопросы быстродействия
- Необработанные исключения
- Трассировка стека при исключениях
- Отладка исключений
- Основы работы платформы, поддерживающей сбор мусора
- Алгоритм сбора мусора
- Сбор мусора и отладка
- Использование завершения для освобождения машинных ресурсов
- Применение завершения к управляемым ресурсам
- Когда вызываются методы Finalize
- Внутренний механизм завершения
- Модель освобождения ресурсов: принудительная очистка объекта
- Использование типов, поддерживающих модель освобождения ресурсов
- Оператор using языка C#
- Интересная проблема с зависимостью
- Ручной мониторинг и управление временем жизни объектов
- Воскрешение
- Поколения
- Прогнозирование успеха операции, требующей много памяти
- Управление сборщиком мусора из программ
- Другие вопросы производительности сборщика мусора
- Мониторинг сбора мусора
- Хостинг 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
Купить книгу «CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#»
Интернет-магазин OZON.RU: CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C# / Интернет-магазин OZON.RU / Описание товара / CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C# / Интернет-магазин OZON.RU / Оформить заказ
Скачать бесплатно книгу «CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C#»
- Архив CLR-CS.NetFx2.rar 7.01 Мб: CLR via C#. Программирование на платформе Microsoft .NET Framework 2.0 на языке C# / Depositfiles.com / Архив CLR-CS.NetFx2.rar