В программе лояльности

CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е издание

Рихтер Джеффри

Код товара: 3391199
(0 оценок)Оценить
ОтзывНаписать отзыв
ВопросЗадать вопрос
1 / 14
PDF
Нет в наличии
Доставим в
г. Москва
Курьером
Л-Пост
бесплатно от 10 000 ₽
В пункт выдачи
от 155 ₽
бесплатно от 10 000 ₽
Точная стоимость доставки рассчитывается при оформлении заказа
Издательство:
Оригинальное название:
CLR via C#
Год издания:
2021
Переводчик:
Редактор:

Описание

Характеристики

Эта книга, выходящая в четвертом издании и уже ставшая классическим учебником по программированию, подробно описывает внутреннее устройство и функционирование общеязыковой исполняющей среды (CLR) Microsoft.NET Framework версии 4.5. Написанная признанным экспертом в области программирования Джеффри Рихтером, много лет являющимся консультантом команды разработчиков.NET Framework компании Microsoft, книга научит вас создавать по-настоящему надежные приложения любого вида, в том числе с использованием Microsoft Silverlight, ASP.NET, Windows Presentation Foundation и т.д. Четвертое издание полностью обновлено в соответствии со спецификацией платформы.NET Framework 4.5, а также среды Visual Studio 2012 и C# 5.0.
код в Майшоп
3391199
возрастная категория
16+
издание
4
количество томов
1
количество страниц
896 стр.
размеры
240x176x42 мм
формат
70x100/16 (170x240) мм
ISBN
978-5-4461-1102-2, 978-5-496-00433-6
тип бумаги
офсетная (60-220 г/м2)
цвет
Фиолетовый
тираж
1000
стандарт
вес
язык
Русский
переплёт
Твёрдый переплёт

Содержание

Предисловие
Введение
От издателя перевода
ЧАСТЬ I. ОСНОВЫ CLR
Глава 1. Модель выполнения кода в среде CLR
Компиляция исходного кода в управляемые
модули
Объединение управляемых модулей в сборку
Загрузка CLR
Исполнение кода сборки
IL-код и верификация
Небезопасный код
IL и защита интеллектуальной собственности
NGen.exe
Библиотека FCL
CTS
CLS
Взаимодействие с неуправляемым кодом
Глава 2. Компоновка, упаковка, развертывание
и администрирование приложений и типов
Задачи развертывания в .NET Framework
Компоновка типов в модуль
Файл параметров
Несколько слов о метаданных
Объединение модулей для создания сборки
Добавление сборок в проект в среде Visual Studio
Использование утилиты Assembly Linker
Включение в сборку файлов ресурсов
Ресурсы со сведениями о версии сборки
Номера версии
Региональные стандарты
Развертывание простых приложений (закрытое
развертывание сборок)
Простое средство администрирования
(конфигурационный файл)
Алгоритм поиска файлов сборки
Глава 3. Совместно используемые сборки и сборки
со строгим именем
Два вида сборок - два вида развертывания
Назначение сборке строгого имени
Глобальный кэш сборок
Построение сборки, ссылающейся на сборку со
строгим именем
Устойчивость сборок со строгими именами
к несанкционированной модификации
Отложенное подписание
Закрытое развертывание сборок со строгими
именами
Как исполняющая среда разрешает ссылки на
типы
Дополнительные административные средства
(конфигурационные файлы)
Управление версиями при помощи политики
издателя
ЧАСТЬ II. ПРОЕКТИРОВАНИЕ ТИПОВ
Глава 4. Основы типов
Все типы - производные от System.Object
Приведение типов
Приведение типов в С# с помощью операторов is и
as
Пространства имен и сборки
Связь между сборками и пространством имен
Как разные компоненты взаимодействуют во
время выполнения
Глава 5. Примитивные, ссылочные и значимые
типы
Примитивные типы в языках программирования
Проверяемые и непроверяемые операции
для примитивных типов
Ссылочные и значимые типы
Как CLR управляет размещением полей для типа
Упаковка и распаковка значимых типов
Изменение полей в упакованных значимых типах
посредством
интерфейсов (и почему этого лучше не делать)
Равенство и тождество объектов
Хеш-коды объектов
Примитивный тип данных dynamic
Глава 6. Основные сведения о членах и типах
Члены типа
Видимость типа
Дружественные сборки
Доступ к членам типов
Статические классы
Частичные классы, структуры и интерфейсы
Компоненты, полиморфизм и версии
Вызов виртуальных методов, свойств и событий в
CLR
Разумное использование видимости типов
и модификаторов доступа к членам
Работа с виртуальными методами при управлении
версиями типов
Глава 7. Константы и поля
Константы
Поля
Глава 8. Методы
Конструкторы экземпляров и классы (ссылочные
типы)
Конструкторы экземпляров и структуры (значимые
типы)
Конструкторы типов
Методы перегруженных операторов
Операторы и взаимодействие языков
программирования
Особое мнение автора о правилах Microsoft,
связанных с именами методов операторов
Методы операторов преобразования
Методы расширения
Правила и рекомендации
Расширение разных типов методами расширения
Атрибут расширения
Частичные методы
Правила и рекомендации
Глава 9. Параметры
Необязательные и именованные параметры
Правила использования параметров
Атрибут DefaultParameterValue и необязательные
атрибуты
Неявно типизированные локальные переменные
Передача параметров в метод по ссылке
Передача переменного количества аргументов
Типы параметров и возвращаемых значений
Константность
Глава 10. Свойства
Свойства без параметров
Автоматически реализуемые свойства
Осторожный подход к определению свойств
Свойства и отладчик Visual Studio
Инициализаторы объектов и коллекций
Анонимные типы
Тип System.Tuple
Свойства с параметрами
Выбор главного свойства с параметрами
Производительность при вызове методов доступа
Доступность методов доступа свойств
Обобщенные методы доступа свойств
Глава 11. События
Разработка типа, поддерживающего событие
Этап 1. Определение типа для хранения всей
дополнительной
информации, передаваемой получателям
уведомления
о событии
Этап 2. Определение члена-события
Этап 3. Определение метода, ответственного за
уведомление
зарегистрированных объектов о событии
Этап 4. Определение метода, преобразующего
входную информацию в желаемое событие
Реализация событий компилятором
Создание типа, отслеживающего событие
Явное управление регистрацией событий
Глава 12. Обобщения
Обобщения в библиотеке FCL
Инфраструктура обобщений
Открытые и закрытые типы
Обобщенные типы и наследование
Идентификация обобщенных типов
Разрастание кода
Обобщенные интерфейсы
Обобщенные делегаты
Контравариантные и ковариантные
аргументы-типы
в делегатах и интерфейсах
Обобщенные методы
Обобщенные методы и выведение типов
Обобщения и другие члены
Верификация и ограничения
Основные ограничения
Дополнительные ограничения
Ограничения конструктора
Другие проблемы верификации
Глава 13. Интерфейсы
Наследование в классах и интерфейсах
Определение интерфейсов
Наследование интерфейсов
Подробнее о вызовах интерфейсных методов
Явные и неявные реализации интерфейсных
методов
(что происходит за кулисами)
Обобщенные интерфейсы
Обобщения и ограничения интерфейса
Реализация нескольких интерфейсов с
одинаковыми сигнатурами
и именами методов
Совершенствование безопасности типов за счет
явной
реализации интерфейсных методов
Опасности явной реализации интерфейсных
методов
Дилемма разработчика: базовый класс или
интерфейс?
ЧАСТЬ III. ОСНОВНЫЕ ТИПЫ ДАННЫХ
Глава 14. Символы, строки и обработка текста
Символы
Тип System. St ring
Создание строк
Неизменяемые строки
Сравнение строк
Интернирование строк
Создание пулов строк
Работа с символами и текстовыми элементами в
строке
Прочие операции со строками
Эффективное создание строк
Создание объекта StringBuilder
Члены типа StringBuilder
Получение строкового представления объекта
Форматы и региональные стандарты
Форматирование нескольких объектов в одну
строку
Создание собственного средства форматирования
Получение объекта посредством разбора строки
Кодировки: преобразования между символами и
байтами
Кодирование и декодирование потоков символов и
байтов
Кодирование и декодирование строк в кодировке
Base-64
Защищенные строки
Глава 15. Перечислимые типы и битовые флаги
Перечислимые типы
Битовые флаги
Добавление методов к перечислимым типам
Глава 16. Массивы
Инициализация элементов массива
Приведение типов в массивах
Базовый класс System.Array
Реализация интерфейсов Enumerable, ICollection и
IList
Передача и возврат массивов
Массивы с ненулевой нижней границей
Внутренняя реализация массивов
Небезопасный доступ к массивам и массивы
фиксированного размера
Глава 17. Делегаты
Знакомство с делегатами
Обратный вызов статических методов
Обратный вызов экземплярных методов
Тонкости использования делегатов
Обратный вызов нескольких методов (цепочки
делегатов)
Поддержка цепочек делегатов в С#
Дополнительные средства управления цепочками
делегатов
Обобщенные делегаты
Упрощенный синтаксис работы с делегатами
Упрощение"!: не создаем объект делегата
Упрощение 2: не определяем метод обратного
вызова
Упрощение 3: не создаем обертку для локальных
переменных
для передачи их методу обратного вызова
Делегаты и отражение
Глава 18. Настраиваемые атрибуты
Сфера применения настраиваемых атрибутов
Определение класса атрибутов
Конструктор атрибута и типы данных полей и
свойств
Выявление настраиваемых атрибутов
Сравнение экземпляров атрибута
Выявление настраиваемых атрибутов без
создания объектов,
производных от Attribute
Условные атрибуты
Глава 19. Null-совместимые значимые типы
Поддержка в С# null-совместимых значимых типов
Оператор объединения null-совместимых значений
Поддержка в CLR null-совместимых значимых типов
Упаковка null-совместимых значимых типов
Распаковка null-совместимых значимых типов
Вызов метода GetType через null-совместимый
значимый тип.
Вызов интерфейсных методов через
null-совместимый
значимый тип
ЧАСТЬ IV. КЛЮЧЕВЫЕ МЕХАНИЗМЫ
Глава 20. Исключения и управление состоянием
Определение "исключения"
Механика обработки исключений
Блок try
Блок catch
Блок finally
CLS-совместимые и CLS-несовместимые
исключения
Класс System.Exception
Классы исключений, определенные в FCL
Генерирование исключений
Создание классов исключений
Продуктивность вместо надежности
Приемы работы с исключениями
Активно используйте блоки finally
Не надо перехватывать все исключения
Корректное восстановление после исключения
Отмена незавершенных операций при
невосстановимых
исключениях
Сокрытие деталей реализации для сохранения
контракта
Необработанные исключения
Отладка исключений
Скорость обработки исключений
Области ограниченного выполнения
Контракты кода
Глава 21. Автоматическое управление памятью
(уборка мусора)
Управляемая куча
Выделение ресурсов из управляемой кучи
Алгоритм уборки мусора
Уборка мусора и отладка
Поколения
Запуск уборки мусора
Большие объекты
Режимы уборки мусора
Программное управление уборщиком мусора
Мониторинг использования памяти приложением
Освобождение ресурсов при помощи механизма
финализации
Типы, использующие системные ресурсы
Интересные аспекты зависимостей
Другие возможности уборщика мусора для работы
с системными ресурсами
Внутренняя реализация финализации
Мониторинг и контроль времени жизни объектов
Глава 22. Хостинг CLR и домены приложений
Хостинг CLR
Домены приложений
Доступ к объектам из других доменов
Выгрузка доменов
Мониторинг доменов
Уведомление о первом управляемом исключении
домена
Использование хостами доменов приложений
Исполняемые приложения
Полнофункциональные интернет-приложения
Silverlight
MicrosoftASP.NET и веб-службы ХМL
Microsoft SQL Server
Будущее и мечты
Нетривиальное управление хостингом
Применение управляемого кода
Разработка надежных хост-приложений
Возвращение потока в хост
Глава 23. Загрузка сборок и отражение
Загрузка сборок
Использование отражения для создания
динамически расширяемых приложений
Производительность отражения
Нахождение типов, определенных в сборке
Объект Туре
Создание иерархии типов, производных от
Exception
Создание экземпляра типа
Создание приложений с поддержкой
подключаемых компонентов
Нахождение членов типа путем отражения
Нахождение членов типа
Обращение к членам типов
Использование дескрипторов привязки для
снижения
потребления памяти процессом
Глава 24. Сериализация
Практический пример
сериализации/десериализации
Сериализуемыетипы
Управление сериализацией и десериализацией
Сериализацияэкземпляров типа
Управление сериализованными и
десериализованными данными
Определение типа, реализующего интерфейс
ISerializable,
не реализуемый базовым классом
Контексты потока ввода-вывода
Сериализация в другой тип и десериализация в
другой объект
Суррогаты сериализации
Цепочка селекторов суррогатов
Переопределение сборки и/или типа при
десериализации объекта
Глава 25. Взаимодействие с компонентами WinRT
Проекции уровня CLR и правила системы типов
компонентов WinRT
Основные концепции системы типов WinRT
Проекции уровня .NET Framework
Асинхронные вызовы WinRT API из кода .NET
Взаимодействия между потоками WinRT и потоками
.NET
Передача блоков данных между CLR и WinRT
Определение компонентов WinRT в коде С#
ЧАСТЬ V. многопоточность
Глава 26. Потоки исполнения
Для чего Windows поддерживает потоки?
Ресурсоемкость потоков
Так дальше не пойдет!
Тенденции развития процессоров
CLR- и Windows-потоки
Потоки для асинхронных вычислительных
операций
Причины использования потоков
Планирование и приоритеты потоков
Фоновые и активные потоки
Что дальше?
Глава 27. Асинхронные вычислительные
операции.
Пул потоков в CLR
Простые вычислительные операции
Контексты исполнения
Скоординированная отмена.
Задания
Завершение задания и получение результата
Отмена задания
Автоматический запуск задания по завершении
предыдущего
Дочерние задания
Структура задания
Фабрики заданий
Планировщики заданий
Методы For, ForEach и Invoke класса Parallel
Встроенный язык параллельных запросов
Периодические вычислительные операции
Разновидности таймеров
Как пул управляет потоками
Ограничение количества потоков в пуле
Управление рабочими потоками
Глава 28. Асинхронные операции ввода-вывода
Операции ввода-вывода в Windows
Асинхронные функции С#
Преобразование асинхронной функции в конечный
автомат
Расширяемость асинхронных функций
Асинхронные функции и обработчики событий
Асинхронные функции в FCL
Асинхронные функции и исключения
Другие возможности асинхронных функций
Потоковые модели приложений
Асинхронная реализация сервера
Отмена операций ввода-вывода
Некоторые операции ввода-вывода
должны выполняться синхронно
Проблемы FileStream
Приоритеты запросов ввода-вывода
Глава 29. Примитивные конструкции
синхронизации
потоков
Библиотеки классов и безопасность потоков
Примитивные конструкции пользовательского
режима
и режима ядра
Конструкции пользовательского режима
Volatile-конструкции
Interlocked-конструкции
Реализация простой циклической блокировки
Универсальный lnterlocked-паттерн
Конструкции режима ядра
События
Семафоры
Мьютексы
Глава 30. Гибридные конструкции синхронизации
потоков
Простая гибридная блокировка
Зацикливание, владение потоком и рекурсия
Гибридные конструкции в FCL
Классы ManualResetEventSlim и SemaphoreSlim
Класс Monitor и блоки синхронизации
Класс ReaderWriterLockSlim
Класс OneManyLock
Класс CountdownEvent
Класс Barrier
Выводы по гибридным конструкциям
Блокировка с двойной проверкой
Паттерн условной переменной
Асинхронная синхронизация
Классы коллекций для параллельного доступа
Словарь соответствия русскоязычных
и англоязычных терминов

Отзывы

Вопросы

Поделитесь своим мнением об этом товаре с другими покупателями — будьте первыми!

Дарим бонусы за отзывы!

За какие отзывы можно получить бонусы?
  • За уникальные, информативные отзывы, прошедшие модерацию
Как получить больше бонусов за отзыв?
  • Публикуйте фото или видео к отзыву
  • Пишите отзывы на товары с меткой "Бонусы за отзыв"
Правила начисления бонусов
Задайте вопрос, чтобы узнать больше о товаре
Если вы обнаружили ошибку в описании товара «CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е издание» (авторы: Рихтер Джеффри), то выделите её мышкой и нажмите Ctrl+Enter. Спасибо, что помогаете нам стать лучше!
Ваш населённый пункт:
г. Москва
Выбор населённого пункта