Книга Адаптивный код: гибкое кодирование с помощью паттернов проектирования и принципов SOLID
За счет применения принципов, рассмотренных в книге, вы сможете создавать код, который приспосабливается к новым требованиям и непредвиденным сценариям без значительного переписывания. Гэри Маклин Холл описал гибкие практики, принципы и паттерны для проектирования и написания кода, который может развиваться быстрее и легче, с меньшим числом ошибок, поскольку он не препятствует изменениям.
В пересмотренное, обновленное и расширенное второе издание книги были добавлены важнейшие практические аспекты процесса Kanban, инверсии управления и создания многократно используемых абстракций. Опираясь на более чем десятилетний опыт консультирования и разработки, автор обновил свой бестселлер углубленным раскрытием модульного тестирования, рефакторинга, чистого внедрения зависимостей и многих других вопросов.
Основные темы книги: написание кода, который запускает в работу и дополняет Scrum, Kanban или любую другую гибкую инфраструктуру; разработка кода, который может пережить крупные изменения в требованиях; планирование способности к адаптации за счет применения зависимостей, уровней, интерфейсов и паттернов проектирования; выполнение модульного тестирования и рефакторинга в тандеме с извлечением большей пользы от обоих приемов; использование приема “золотого мастера” для того, чтобы сделать унаследованный код адаптивным; построение кода, соответствующего принципам SOLID: единственной обязанности, открытости/закрытости и подстановки Лисков; создание меньших интерфейсов для поддержки более многообразных клиентских и архитектурных потребностей; использование в своих интересах лучших практик внедрения зависимостей для увеличения степени адаптации кода; внедрение зависимостей с помощью паттерна “Лестница” и избегание распространенных антипаттернов.
Книга предназначена для программистов с любым уровнем квалификации, ищущих более практичный взгляд на паттерны проектирования, принципы SOLID, модульное тестирование, рефакторинг и связанные с ними темы. Читатели книги должны владеть C#, Java, C++ или похожим объектно-ориентированным языком и быть хорошо знакомыми с основными приемами процедурного программирования.