Введение 13
Часть I. Введение в разработку объектно-ориентированного программного обеспечения 23
1 Объектно-ориентированная парадигма 25
2 UML — унифицированный язык моделирования 45
Часть II. Ограниченность традиционного объектно-ориентированного проектирования 55
3 Проблема, требующая создания гибкого кода 57
4 Стандартное объектно-ориентированное решение 67
Часть III. Шаблоны проектирования 77
5 Первое знакомство с шаблонами проектирования 79
6 Шаблон Facade 91
7 Шаблон Adapter 97
8 Расширение горизонтов 107
9 Шаблон Bridge 117
10 Шаблон Abstract Factory 147
Часть IV. Практическое применение шаблонов проектирования 163
11 Как проектируют эксперты 165
12 Решение задачи САПР с помощью шаблонов проектирования 173
13 Обработка возможных вариаций с помощью шаблонов проектирования 191
Часть V. Обработка вариаций с применением шаблонов проектирования 197
14 Шаблон Strategy 199
15 Шаблон Decorator 209
16 Шаблоны Singleton и Double-Checked Locking 221
17 Шаблон Observer 227
18 Шаблон Template Method 241
19 Шаблон Factory Method 247
20 Матрица анализа 251
Часть VI. Завершение и начало 263
21 Шаблоны проектирования и новый взгляд на объектно-ориентированное проектирование 265
22 Библиография 271