24 февраля 2024 г. 14:28
169
5 Спойлер Рано или поздно вы получите запрос на реализацию новой функции, для которого придется изменить пугающий код, и уже не удастся сделать вид, что его не существует (я знаю, каково это; со мной такое тоже случалось).
Отличная книга, просто, легко и доходчиво объясняющая отличия асинхронности, параллельности и многопоточности - понятий, которые обычно употребляются вместе и могут быть затруднительными для понимания новичкам.
Книга последовательно рассматривает асинхронное, параллельное, многопоточное, реактивное программирование, а также потоки данных (на примере TPL DataFlow), подробно рассматривает каждый из аспектов, приводит примеры реализации каждого из рассмотренных сценариев и располагает удобными перекрёстными ссылками на схожие рецепты (таким образом, вы можете как читать книгу последовательно, так и использовать её в качестве справочника при возникновении конкретных вопросом при реализации той или иной практической задачи).
После того, как каждый из подходов рассмотрен, автор уделяет внимание правильной организации тестирования, отмене операций, синхронизации, планированию и совместному использованию описанных принципов (а также преобразованием одного в другой при помощи специализированных методов и библиотек). Такая подача позволяет, во-первых, закрепить пройденное и, во-вторых, улучшить понимание даваемых в начале книги знаний и углубить их соответствующими надстройками. Кроме того, дальнейшее рассмотрение всех подходов в едином блоке позволяет лучше понять их сходства и отличия, а также более наглядно представляет целесообразность использования каждого из подходов в зависимости от условий задачи.
Приложение также содержит основные паттерны асинхронного программирования, снабжённые примерами использования и формализованным описанием - представляет собой в некоторой степени базовое представление о существующих паттернах.
Для лучшего усвоения материала книги рекомендуется проделывать большую часть приводимых в книге примеров на практике - для закрепления полученных знаний и прояснения непонятных моментов (в случае их возникновения). Для меня книга оказалась однозначно полезной - в качестве полноценного знакомства с асинхронностью, параллельностью и многопоточностью (предоставление о которых, несмотря на практический опыт использования, до прочтения книги было довольно сумбурным). Полагаю, она хорошо подойдёт новичкам, поможет структурировать знания и позволит использовать мощь существующих библиотек для написания эффективного асинхронного кода.
В Реальном Мире старый код бывает весьма неряшливым, и у нас редко находится время для того, чтобы привести его в идеальное состояние, прежде чем преобразовывать к асинхронному виду.
Комментариев пока нет — ваш может стать первым
Поделитесь мнением с другими читателями!