Чтение онлайн

на главную

Жанры

Язык программирования C#9 и платформа .NET5
Шрифт:

Эта глава посвящена построению многопоточных приложений. В ней демонстрируются приемы, которые можно использовать для написания кода, безопасного к потокам. Глава начинается с краткого напоминания о том, что собой представляет тип делегата .NET Core, и объяснения внутренней поддержки делегата для асинхронного вызова методов. Затем рассматриваются типы из пространства имен

System.Threading
и библиотека параллельных задач (Task Parallel Library — TPL). С применением TPL разработчики могут строить приложения .NET Core, которые распределяют рабочую нагрузку по всем доступным процессорам в исключительно простой манере. В главе также раскрыта роль API-интерфейса Parallel LINQ, который
предлагает способ создания запросов LINQ, масштабируемых среди множества процессорных ядер. В завершение главы исследуется создание неблокирующих вызовов с использованием ключевых слов
async/await
, введенных в версии C#5, локальных функций и обобщенных возвращаемых типов
async
, появившихся в версии C#7, а также асинхронных потоков, добавленных в версии C#8.

Часть V. Программирование с использованием сборок .NET Core

Эта часть книги посвящена деталям формата сборок .NET Core. Здесь вы узнаете не только о том, как развертывать и конфигурировать библиотеки кода .NET Core, но также о внутреннем устройстве двоичного образа .NET Core. Будет описана роль атрибутов .NET Core и распознавания информации о типе во время выполнения. Кроме того, объясняется роль исполняющей среды динамического языка (DLR) и ключевого слова

dynamic
языка С#. В последней главе части рассматривается синтаксис языка CIL и обсуждается роль динамических сборок.

Глава 16. Построение и конфигурирование библиотек классов

На самом высоком уровне термин "сборка" применяется для описания двоичного файла, созданного с помощью компилятора .NET Core. Однако в действительности понятие сборки намного шире. Вы научитесь создавать и развертывать сборки и узнаете, в чем отличие между библиотеками классов и консольными приложениями, а также между библиотеками классов .NET Core и .NET Standard. В конце главы раскрываются новые возможности, доступные в .NET 5, такие как однофайловое автономное развертывание.

Глава 17. Рефлексия типов, позднее связывание и программирование на основе атрибутов

В этой главе продолжается исследование сборок .NET Core. Здесь будет показано, как обнаруживать типы во время выполнения с использованием пространства имен

System.Reflection
. Посредством типов из упомянутого пространства имен можно строить приложения, способные считывать метаданные сборки на лету. Вы также узнаете, как загружать и создавать типы динамически во время выполнения с применением позднего связывания. Напоследок в главе обсуждается роль атрибутов .NET Core (стандартных и специальных). Для закрепления материала в главе демонстрируется построение расширяемого приложения с подключаемыми оснастками.

Глава 18. Динамические типы и среда DLR

В версии .NET 4.0 появился новый аспект исполняющей среды. NET, который называется исполняющей средой динамического языка (DLR). Используя DLR и ключевое слово dynamic языка С#, можно определять данные, которые в действительности не будут распознаваться вплоть до времени выполнения. Такие средства существенно упрощают решение ряда сложных задач программирования для .NET Core. В этой главе вы ознакомитесь со сценариями применения динамических данных, включая использование API-интерфейсов рефлексии .NET Core и взаимодействие с унаследованными библиотеками СОМ с минимальными усилиями.

Глава 19. Язык CIL и роль динамических сборок

В последней главе этой части преследуется

двойная цель. В первой половине главы рассматривается синтаксис и семантика языка CIL, а во второй — роль пространства имен
System.Reflection.Emit
. Типы из указанного пространства имен можно применять для построения ПО, которое способно генерировать сборки .NET Core в памяти во время выполнения. Формально сборки, которые определяются и выполняются в памяти, называются динамическими сборками.

Часть VI. Работа с файлами, сериализация объектов и доступ к данным

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

Глава 20. Файловый ввод-вывод и сериализация объектов

Пространство имен

System.IO
позволяет взаимодействовать со структурой файлов и каталогов машины. В этой главе вы узнаете, как программно создавать (и удалять) систему каталогов. Вы также научитесь перемещать данные между различными потоками (например, файловыми, строковыми и находящимися в памяти). Кроме того, в главе рассматриваются службы сериализации объектов в формат XML и JSON платформы .NET Core. Сериализация позволяет сохранять состояние объекта (или набора связанных объектов) в потоке для последующего использования. Десериализация представляет собой процесс извлечения объекта из потока в память с целью потребления внутри приложения.

Глава 21. Доступ к данным с помощью ADO.NET

Эта глава посвящена доступу к данным с использованием ADO.NET — API-интерфейса доступа к базам данных для приложений .NET Core. В частности, здесь рассматривается роль поставщиков данных .NET Core и взаимодействие с реляционной базой данных с применением инфраструктуры ADO.NET, которая представлена объектами подключений, объектами команд, объектами транзакций и объектами чтения данных. Кроме того, в главе начинается создание уровня доступа к данным

AutoLot
, который будет расширен в главах 22 и 23.

Часть VII. Entity Framework Core

У вас уже есть четкое представление о языке C# и деталях формата сборок .NET Core. В этой части вы узнаете о распространенных службах, реализованных внутри библиотек базовых классов, в числе которых файловый ввод-вывод, доступ к базам данных с использованием ADO.NET и доступ к базам данных с применением Entity Framework Core.

Глава 22. Введение в Entity Framework Core

В этой главе рассматривается инфраструктура Entity Framework (EF) Core, которая представляет собой систему объектно-реляционного отображения (ORM), построенную поверх ADO.NET. Инфраструктура EF Core предлагает способ написания кода доступа к данным с использованием строго типизированных классов, напрямую отображаемых на бизнес-модель. Здесь вы освоите строительные блоки EF Core, включая

DbContext
, сущности, специализированный класс коллекции
DbSet<T>
и
DbChangeTracker
. Затем вы узнаете о выполнении запросов, отслеживаемых и неотслеживаемых сущностях, а также о других примечательных возможностях EF Core. В заключение рассматривается глобальный инструмент EF Core для интерфейса командной строки .NET Core (CLI).

Поделиться:
Популярные книги

Камень. Книга вторая

Минин Станислав
2. Камень
Фантастика:
фэнтези
8.52
рейтинг книги
Камень. Книга вторая

Хуррит

Рави Ивар
Фантастика:
героическая фантастика
попаданцы
альтернативная история
5.00
рейтинг книги
Хуррит

Восход. Солнцев. Книга X

Скабер Артемий
10. Голос Бога
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Восход. Солнцев. Книга X

Неудержимый. Книга XVIII

Боярский Андрей
18. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XVIII

Уязвимость

Рам Янка
Любовные романы:
современные любовные романы
7.44
рейтинг книги
Уязвимость

Идеальный мир для Лекаря 17

Сапфир Олег
17. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 17

Протокол "Наследник"

Лисина Александра
1. Гибрид
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Протокол Наследник

Треск штанов

Ланцов Михаил Алексеевич
6. Сын Петра
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Треск штанов

Дело Чести

Щукин Иван
5. Жизни Архимага
Фантастика:
городское фэнтези
попаданцы
аниме
5.00
рейтинг книги
Дело Чести

Убивать чтобы жить 3

Бор Жорж
3. УЧЖ
Фантастика:
героическая фантастика
боевая фантастика
рпг
5.00
рейтинг книги
Убивать чтобы жить 3

Попаданка для Дракона, или Жена любой ценой

Герр Ольга
Любовные романы:
любовно-фантастические романы
7.17
рейтинг книги
Попаданка для Дракона, или Жена любой ценой

Неудержимый. Книга XII

Боярский Андрей
12. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга XII

(Противо)показаны друг другу

Юнина Наталья
Любовные романы:
современные любовные романы
эро литература
5.25
рейтинг книги
(Противо)показаны друг другу

Совок – 3

Агарев Вадим
3. Совок
Фантастика:
фэнтези
детективная фантастика
попаданцы
7.92
рейтинг книги
Совок – 3