Интернет-портал MegaWEB содержит много ресурсов для веб-мастеров, интернет-разработчиков, веб-дизайнеров и seo-оптимизаторов. Это видеоуроки, книги и справочники в формате ebook: PDF-CHM-DJVU, а также программы и утилиты для того, чтобы сделать сайт или раскрутить сайт в сети Интернет.
Книга «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#»
Версия для печати и PDA
Книга «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#» – это третье издание классического руководства по программированию для .NET Framework, цель которого – объяснить, как разрабатывать приложения и многократно используемые классы для .NET Framework. Написанная признанным экспертом в области программирования Джеффри Рихтером, много лет являющимся консультантом команды разработчиков .NET Framework компании Microsoft, она научит вас создавать по-настоящему надежные приложения любого вида, в том числе с использованием Silverlight, ASP.NET, WPF и других технологий, которые заложены в Microsoft .NET Framework. Европейская ассоциация по стандартизации информационных и вычислительных систем ЕСМА International приняла в качестве стандарта язык C# и некоторые компоненты среды CLR и библиотеки FCL, поэтому львиная доля приводимых сведений посвящена описанию этих стандартов, что многие найдут для себя полезным при работе с реализациями приложений и библиотек, совместимых со спецификацией ЕСМА. Хотя в издании отдельно не рассматриваются подсистема графического интерфейса пользователя Windows Forms, система для построения клиентских приложений Windows Presentation Foundation, платформа Silverlight, XML веб-сервисы, веб-формы и другие компоненты Microsoft .NET Framework, технологии, описанные в ней, применимы ко всем этим видам приложений.
Структура книги «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#»
I. Основы CLR
Модель выполнения кода в среде CLR
Компиляция исходного кода в управляемые модули
Объединение управляемых модулей в сборку
Загрузка CLR
Исполнение кода сборки
Компоновка, упаковка, развертывание и администрирование приложений и типов
Простое средство администрирования (конфигурационный файл)
Совместно используемые сборки и сборки со строгим именем
Два вида сборок – два вида развертывания
Назначение сборке строгого имени
Глобальный кэш сборок
Компоновка сборки, ссылающейся на сборку со строгим именем
Устойчивость сборок со строгими именами к несанкционированной модификации
Отложенное подписание
Закрытое развертывание сборок со строгими именами
Как исполняющая среда разрешает ссылки на типы
Дополнительные административные средства (конфигурационные файлы)
II. Проектирование типов
Основы типов
Все типы – производные от System.Object
Приведение типов
Пространства имен и сборки
Как разные компоненты взаимодействуют во время выполнения
Примитивные, ссылочные и значимые типы
Примитивные типы в языках программирования
Ссылочные и значимые типы
Упаковка и распаковка значимых типов
Хэш-коды объектов
Примитивный тип данных dynamic
Основные сведения о членах и типах
Члены типа
Видимость типа
Доступ к членам
Статические классы
Частичные классы, структуры и интерфейсы
Компоненты, полиморфизм и версии
Константы и поля
Константы
Поля
Методы
Конструкторы экземпляров и классы (ссылочные типы)
Конструкторы экземпляров и структуры (значимые типы)
Конструкторы типов
Методы перегруженных операторов
Методы операторов преобразования
Методы расширения
Частичные методы
Параметры
Необязательные и именованные параметры
Неявно типизированные локальные переменные
Передача параметров в метод по ссылке
Передача в метод переменного количества аргументов
Типы параметров и возвращаемых значений
Константность
Свойства
Свойства без параметров
Свойства с параметрами
Производительность при вызове методов-аксессоров свойств
Доступность аксессоров свойств
Обобщенные методы-аксессоры свойств
События
Разработка типа, поддерживающего событие
Как реализуются события
Создание типа, отслеживающего событие
Явное управление регистрацией событий
Обобщения
Обобщения в библиотеке FCL
Библиотека Power Collections производства Wintellect
Инфраструктура обобщений
Обобщенные интерфейсы
Обобщенные делегаты
Обобщенные методы
Обобщения и другие члены
Верификация и ограничения
Интерфейсы
Наследование в классах и интерфейсах
Определение интерфейсов
Наследование интерфейсов
Подробнее о вызовах интерфейсных методов
Явные и неявные реализации интерфейсных методов (что происходит за кулисами)
Обобщенные интерфейсы
Обобщения и ограничения интерфейса
Реализация нескольких интерфейсов с одинаковыми сигнатурами и именами методов
Совершенствование контроля типов за счет явной реализации интерфейсных методов
Опасности явной реализации интерфейсных методов
Дилемма разработчика: базовый класс или интерфейс
III. Основные типы данных
Символы, строки и обработка текста
Символы
Тип System.String
Эффективное создание строк
Получение строкового представления объекта
Получение объекта посредством разбора строки
Кодировки: преобразования между символами и байтами
Защищенные строки
Перечислимые типы и битовые флаги
Перечислимые типы
Битовые флаги
Добавление методов к перечислимым типам
Массивы
Инициализация элементов массива
Приведение типов в массивах
Базовый класс System.Array
Реализация интерфейсов IEnumerable, ICollection и IList
Передача и возврат массивов
Массивы с ненулевой нижней границей
Производительность доступа к массиву
Небезопасный доступ к массивам и массивы фиксированного размера
Делегаты
Знакомство с делегатами
Обратный вызов статических методов
Обратный вызов экземплярных методов
Раскрытие тайны делегатов
Обратный вызов нескольких методов (цепочки делегатов)
Обобщенные делегаты
Упрощенный синтаксис для работы с делегатами
Делегаты и отражение
Настраиваемые атрибуты
Сфера применения настраиваемых атрибутов
Определение класса атрибутов
Конструктор атрибута и типы данных полей и свойств
Выявление настраиваемых атрибутов
Сравнение экземпляров атрибута
Выявление настраиваемых атрибутов без создания производных от класса Attribute объектов
Условные атрибуты
Null-совместимые значимые типы
Поддержка в C# null-совместимых значимых типов
Оператор объединения null-совместимых значений
Поддержка в CLR null-совместимых значимых типов
IV. Ключевые механизмы
Исключения и управление состоянием
Определение исключения
Механика обработки исключений
Класс System.Exception
Классы исключений, определенные в FCL
Вбрасывание исключений
Создание классов исключений
Продуктивность вместо надежности
Приемы работы с исключениями
Необработанные исключения
Отладка исключений
Скорость обработки исключений
Области ограниченного выполнения
Контракты кода
Автоматическое управление памятью (сборка мусора)
Работа на платформе, поддерживающей сборку мусора
Алгоритм сборки мусора
Сборка мусора и отладка
Освобождение ресурсов при помощи механизма финализации
Финализация управляемых ресурсов
Мотивы вызова методов финализации
Детали механизма финализации
Эталон освобождения ресурсов: принудительная очистка объекта
Типы, реализующие эталон освобождения ресурсов
Инструкция using языка C#
Интересные аспекты зависимостей
Мониторинг и контроль времени жизни объектов
Воскрешение
Поколения
Другие возможности сборщика мусора для работы с машинными ресурсами
Прогнозирование успеха операции, требующей много памяти
Программное управление сборщиком мусора
Захват потока
Режимы сборки мусора
Большие объекты
Мониторинг сборки мусора
Хостинг CLR и домены приложений
Хостинг CLR
Домены приложений
Выгрузка доменов
Мониторинг доменов
Уведомление о первом управляемом исключении домена
Использование хостами доменов приложений
Нетривиальное управление хостингом
Загрузка сборок и отражение
Загрузка сборок
Использование отражения для создания динамически расширяемых приложений
Производительность отражения
Создание приложений с поддержкой подключаемых компонентов
Нахождение членов типа путем отражения
Сериализация
Краткое руководство по сериализации/десериализации
Сериализуемые типы
Управление сериализацией и десериализацией
Сериализация экземпляров типа
Управление сериализованными и десериализованными данными
Контексты потока ввода-вывода
Сериализация в другой тип и десериализация в другой объект
Суррогаты сериализации
Переопределение сборки и/или типа при десериализации объекта
V. Многопоточность
Потоки исполнения
Зачем потоки в Windows
Ресурсоемкость потоков
Тенденции развития процессоров
Неравномерный доступ к памяти
CLR и Windows-потоки
Потоки для асинхронных вычислительных операций
Мотивы использования потоков
Порядок исполнения и приоритеты потоков
Фоновые и активные потоки
Асинхронные вычислительные операции
Пул потоков в CLR
Простые вычислительные операции
Контексты исполнения
Скоординированная отмена
Задания
Методы For, ForEach и Invoke класса Parallel
Встроенный язык параллельных запросов
Периодические вычислительные операции
Как пул управляет потоками
Строки кэша и ложное разделение
Асинхронные операции ввода-вывода
Операции ввода-вывода в Windows
Модель асинхронного программирования в CLR
Класс AsyncEnumerator
Модель асинхронного программирования и исключения
Потоковые модели приложений
Асинхронная реализация сервера
Модель асинхронного программирования и вычислительные операции
Анализ модели асинхронного программирования
Приоритеты запросов ввода-вывода
Преобразование объекта IAsyncResult в объект Task
Эталон асинхронного программирования на базе событий
Сводная информация по моделям программирования
Простейшие конструкции синхронизации потоков
Библиотеки классов и безопасность потоков
Простейшие конструкции пользовательского режима и режима ядра
Конструкции пользовательского режима
Конструкции режима ядра
Гибридные конструкции синхронизации потоков
Простое гибридное запирание
Зацикливание, владение потоком и рекурсия
Различные гибридные конструкции
Запирание с двойной проверкой
Эталон условной переменной
Сокращение времени запирания при помощи коллекций
Классы коллекций для параллельной обработки потоков
В книге «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.0 на языке C#» используются системы Microsoft Visual Studio 2010, .NET Framework 4.0 и компилятор C# версии 4.0. Компания Microsoft старается обеспечивать максимальную обратную совместимость разрабатываемых программных продуктов, поэтому многое из того, что вы узнаете, будет применимо и к ранним версиям .NET Framework. Все примеры написаны на языке C#, но так как в среде CLR можно использовать различные языки программирования, приводимый код может быть полезен также и тем, кто пишет на других языках программирования.
Формат: PDF + Примеры кода Качество: eBook Страниц: 928