Концепции дизайна. Как проектировать ПО, которое работает
Год издания: 2025
Автор: Джексон Дэниел
Переводчик: Чикин Р.
Издательство: Питер
ISBN: 978-5-4461-2189-2
Серия: Библиотека программиста
Язык: Русский
Формат: PDF
Качество: Издательский макет или текст (eBook)
Интерактивное оглавление: Да
Количество страниц: 337
Описание: Почему так много программ остаются несовершенными? Почему до сих пор не существует системного и масштабируемого подхода к созданию удобного, надежного и безопасного ПО?
Познакомьтесь с нестандартным подходом к проектированию ПО, который построен на концепциях. Дэниел Джексон доказывает, что любую программную систему следует рассматривать как набор взаимодействующих концепций, которые разбивают функциональность на управляемые части. Такой подход позволяет создавать ПО, которое не только эффективно работает, но и приносит удовольствие пользователям.
Вы узнаете, что такое концепции, как их идентифицировать, определять и применять на практике. Познакомитесь с принципами и получите практические рекомендации. Примеры реальных проектов ведущих айти-компаний показывают, как концепции помогают сохранять и повторно использовать знания о дизайне, избегая необходимости начинать с нуля в каждом новом проекте.
Примеры страниц (скриншоты)
Оглавление
Как читать эту книгу.........................................................................................................10
Для кого эта книга............................................................................................................11
Цель книги.......................................................................................................................12
Как выбрать свой путь.......................................................................................................13
Исследования и размышления............................................................................................14
Предупреждение: микроманьяк за работой..........................................................................15
От издательства.................................................................................................................16
О научном редакторе русскоязычного издания.....................................................................16
Часть I. Мотивации
1 Почему я написал эту книгу.............................................................................................18
Страсть к проектированию..................................................................................................18
Проектирование в области компьютерных наук и других областях.........................................19
Ясность и простота дизайна................................................................................................20
Как появилась эта книга.....................................................................................................22
Начало обсуждения............................................................................................................22
2 Знакомство с концепциями...............................................................................................24
Первый пример: создание резервных копий.........................................................................25
Обманчивость Dropbox........................................................................................................27
Объяснение поведения Dropbox...........................................................................................30
Откуда взялась такая недоработка.......................................................................................32
Уровни проектирования.......................................................................................................33
Ментальные модели и концептуальное проектирование.........................................................36
Резюме...............................................................................................................................38
3 Как концепции помогают...................................................................................................40
Концепции характеризуют приложения.................................................................................41
Концепции характеризуют семейства приложений.................................................................42
Концепции выделяют продукт.............................................................................................44
Концепции раскрывают сложность......................................................................................46
Концепции влияют на бизнес.............................................................................................48
Концепции помогают оценить затраты и выгоды................................................................49
Концепции разделяют проблемы......................................................................................50
Концепции предоставляют возможность повторного использования ..................................51
Концепции помогают выявить недостатки в использовании...............................................52
Концепции обеспечивают безопасность и защищенность..................................................53
Концепции как основа для критики проекта....................................................................54
Резюме.........................................................................................................................55
Часть II. Основные идеи
4 Структура концепции..................................................................................................58
Отличная концепция Apple: корзина...............................................................................58
Концепция корзины: недостатки проектирования наконец-то исправлены.........................61
Концепция, лежащая в основе программ для верстки: стиль.............................................62
Стиль не то, чем кажется...............................................................................................64
Концепция XIX века: резервирование.............................................................................66
Замечания для проектировщика......................................................................................67
Резюме.........................................................................................................................68
5 Назначение концепции................................................................................................70
Предназначение: первый шаг к ясности..........................................................................71
Критерии для целей......................................................................................................72
Цели решают задачи проектирования.............................................................................73
Концепции без целей: смесители и буферы редакторов...................................................75
Концепции с неясными целями: избранное в Twitter.........................................................77
Злонамеренное использование сложных концепций.........................................................79
Неужели эта концепция действительно может быть такой сложной?
Рассказ о размере изображения.....................................................................................79
Чья это цель? Моя или ваша?.........................................................................................81
Обманчивые цели.........................................................................................................83
Несоответствия: когда цели не достигаются...................................................................84
Смертельная ошибка из-за плохого проектирования.......................................................85
Ошибка из-за смены контекста......................................................................................86
Старая ошибка возвращается........................................................................................87
Резюме........................................................................................................................89
6 Соединение концепций..............................................................................................91
Почему традиционное соединение не работает...............................................................92
Новый вид соединения.................................................................................................92
Свободное соединение.................................................................................................93
Совместное использование...........................................................................................97
Синергия................................................................................................................... 100
Прекрасная синергия корзины и папки........................................................................ 102
Синергия редко бывает идеальной.............................................................................. 103
Чрезмерная и недостаточная синхронизация ............................................................... 104
Чрезмерная синхронизация и странный случай с отмененными
семинарами............................................................................................................... 105
Недостаточная синхронизация и группа, к которой никогда не удастся
присоединиться......................................................................................................... 107
Резюме...................................................................................................................... 110
7 Зависимости концепций........................................................................................... 112
Развитие программного продукта от концепции к концепции......................................... 113
Создание списка концепций....................................................................................... 113
Перечень универсальных концепций........................................................................... 115
Диаграмма зависимостей концепций............................................................................ 116
Структура некоторых известных приложений............................................................... 118
Резюме...................................................................................................................... 120
8 Соответствие концепций.......................................................................................... 122
Как усложнить простую концепцию............................................................................. 123
Включение руководства пользователя в интерфейс...................................................... 124
Темные шаблоны: умышленная путаница..................................................................... 125
Визуальное представление сложных композиций: тайны ярлыков Gmail......................... 127
Понятно, но непригодно: Backblaze Restore.................................................................. 130
Головоломка с фильтрацией в реальном времени.......................................................... 132
Разрешение неоднозначных действий.......................................................................... 134
Когда стандартных виджетов недостаточно: о значении «нет»....................................... 135
Резюме...................................................................................................................... 137
Часть III. Принципы
9 Специфичность концепций....................................................................................... 140
Концепция без цели................................................................................................... 140
Цель без концепции................................................................................................... 141
Избыточные концепции.............................................................................................. 143
Перегруженные концепции......................................................................................... 146
Детализация и согласованность целей......................................................................... 154
Применение критериев согласованности: лайки в Facebook имеют
несколько целей......................................................................................................... 155
Разделение: лайки в Facebook должны представлять собой несколько
концепций................................................................................................................. 157
Резюме...................................................................................................................... 158
10 Понятность концепций............................................................................................ 160
Успешное повторное использование концепций............................................................ 161
Группировка слайдов: как избежать ненужных новшеств.............................................. 162
Предустановки: когда расширение нарушает привычность............................................ 165
Соответствие концепций............................................................................................. 167
Резюме...................................................................................................................... 168
11 Целостность концепций.......................................................................................... 170
Вопиющее нарушение: мстительный ресторатор........................................................... 171
Форматы шрифтов: давняя проблема дизайна.............................................................. 172
Как потерять работу всей своей жизни с помощью Google Диска.................................... 176
Резюме...................................................................................................................... 178
Спросите себя............................................................................................................. 180
Благодарности............................................................................................................ 192
Исследования и размышления...................................................................................... 194
Как читать эту книгу................................................................................................... 194
Глава 1. Почему я написал эту книгу............................................................................ 195
Глава 2. Знакомство с концепциями............................................................................. 217
Глава 3. Как концепции помогают................................................................................ 227
Глава 4. Структура концепции...................................................................................... 236
Глава 5. Назначение концепции.................................................................................... 270
Глава 6. Соединение концепций.................................................................................... 283
Глава 7. Зависимости концепций................................................................................... 298
Глава 8. Соответствие концепций.................................................................................. 304
Глава 9. Специфичность концепций.............................................................................. 309
Глава 10. Понятность концепций................................................................................... 315
Глава 11. Целостность концепций.................................................................................. 321
Список используемых источников.................................................................................. 325