Software Design by Example: A Tool-Based Introduction with Python
Книга «Software Design by Example» предлагает уникальный подход к изучению принципов проектирования программного обеспечения через создание упрощённых версий реальных инструментов, которые программисты используют ежедневно. Автор Грег Уилсон демонстрирует, что лучший способ понять дизайн в любой области — это изучать примеры, и поэтому книга последовательно строит небольшие, но функциональные реализации таких систем, как система резервного копирования файлов, фреймворк для тестирования, механизм сопоставления регулярных выражений, движок компоновки браузера и даже простой компилятор.
Через эти практические примеры читатели исследуют распространённые паттерны проектирования, узнают, как сделать код более тестируемым и, как следствие, более переиспользуемым. Книга также помогает глубже понять принципы работы отладчиков, профилировщиков, менеджеров пакетов и систем контроля версий, что позволяет использовать эти инструменты более эффективно. Материал структурирован так, чтобы его можно было использовать для самостоятельного изучения, в рамках университетского курса по проектированию ПО или в качестве основы интенсивного семинара для практикующих разработчиков.
Каждая глава содержит набор упражнений разного уровня сложности — от задач на несколько строк кода до проектов, рассчитанных на целый день работы. Книга предполагает знакомство читателя с основами современного Python, при этом более продвинутые возможности языка объясняются и иллюстрируются по мере их появления. Весь текстовый материал доступен по лицензии Creative Commons, а программный код — по Hippocratic License, а все доходы от продажи книги направляются в поддержку благотворительного приюта.









