Приемы объектно-ориентированного проектированияПредисловие 
Глава
1. Введение в паттерны проектирования 
1.1. Что такое паттерн
проектирования 
1.2. Паттерны
проектирования в схеме MVC в языке Smalltalk 
1.3. Описание
паттернов проектирования 
1.4. Каталог паттернов
проектирования 
1.5. Организация
каталога 
1.6. Как решать задачи
проектирования с помощью паттернов  
Поиск подходящих
объектов 
Определение степени
детализации объекта 
Специфицирование
интерфейсов объекта 
Специфицирование
реализации объектов 
Механизмы повторного
использования 
Сравнение структур
времени выполнения и времени компиляции 
Проектирование с учетом
будущих изменений 
1.7. Как выбирать
паттерн проектирования 
1.8. Как пользоваться
паттерном проектирования 
Глава
2. Проектирование редактора документов 
2.1. Задачи
проектирования 
2.2. Структура
документа 
Рекурсивная композиция 
Глифы 
Паттерн компоновщик 
2.3. Форматирование 
Инкапсуляция алгоритма
форматирования 
Классы Compositor и Composition 
Стратегия 
2.4. Оформление пользовательского интерфейса 
Прозрачное обрамление 
Моноглиф 
Паттерн декоратор 
2.5. Поддержка нескольких стандартов внешнего
облика 
Абстрагирование
создания объекта 
Фабрики и изготовленные
классы 
Паттерн абстрактная
фабрика 
2.6. Поддержка
нескольких оконных систем 
Можно ли
воспользоваться абстрактной фабрикой? 
Инкапсуляция
зависимостей от реализации 
Классы Window и WindowImp 
Подклассы WindowImp 
Конфигурирование класса
Window с помощью WindowImp 
Паттерн мост 
2.7. Операции
пользователя 
Инкапсуляция запроса 
Класс Command и его
подклассы 
Отмена операций 
История команд 
Паттерн команда 
2.8. Проверка
правописания и расстановка переносов 
Доступ к распределенной
информации 
Инкапсуляция доступа и
порядка обхода 
Класс Iterator и его
подклассы 
Паттерн итератор 
Обход и действия,
выполняемые при обходе 
Класс Visitor и его
подклассы 
Паттерн посетитель 
2.9. Резюме 
Глава 3. Порождающие
паттерны 
Паттерн Abstract Factory 
Паттерн Builder 
Паттерн Factory Method 
Паттерн Prototype 
Паттерн Singleton 
Обсуждение порождающих
паттернов 
Глава 4. Структурные
паттерны 
Паттерн Adapter 
Паттерн Bridge 
Паттерн Composite 
Паттерн Decorator 
Паттерн Facade 
Паттерн Flyweight 
Паттерн Proxy 
Обсуждение структурных паттернов 
Адаптер и мост 
Компоновщик, декоратор и заместитель 
Глава 5. Паттерны
поведения 
Паттерн Chain of Responsibility 
Паттерн Command 
Паттерн Interpreter 
Паттерн Iterator 
Паттерн Mediator 
Паттерн Memento 
Паттерн Observer 
Паттерн State 
Паттерн Strategy 
Паттерн Template Method 
Паттерн Visitor 
Обсуждение паттернов
поведения 
Инкапсуляция вариаций 
Объекты как аргументы 
Должен ли обмен
информацией быть инкапсулированным или
распределенным 
Разделение получателей
и отправителей 
Резюме 
Глава 6. Заключение 
6.1. Чего ожидать от паттернов проектирования 
Единый словарь
проектирования 
Помощь при
документировании и изучении 
Дополнение существующих
методов 
Цель реорганизации 
6.2. Краткая история 
6.3. Проектировщики паттернов 
Языки паттернов Александра 
Паттерны в программном обеспечении 
6.4. Приглашение 
6.5. На прощание 
Приложение A.
Глоссарий 
Приложение B. Объяснение
нотации 
B.1. Диаграмма классов 
B.2. Диаграмма
объектов 
B.3. Диаграмма
взаимодействий 
Приложение C. Базовые
классы 
C.1. List 
C.2. Iterator 
C.3. ListIterator 
C.4. Point 
C.5. Rect 
Библиография 
Алфавитный указатель