Приемы объектно-ориентированного проектирования. Паттерны проектирования
Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились потому, что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения.
Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Издательство: Питер, 2007 г.
ISBN 978-5-469-01136-1, 5-272-00355-1, 0-201-63361-2, 5-469-01136-4
Количество страниц: 366.
Содержание книги «Приемы объектно-ориентированного проектирования. Паттерны проектирования»:
- 10 Предисловие
- 15 Глава 1. Введение в паттерны проектирования
- 16 1.1. Что такое паттерн проектирования
- 18 1.2. Паттерны проектирования в схеме MVC в языке Smalltalk
- 20 1.3. Описание паттернов проектирования
- 22 1.4. Каталог паттернов проектирования
- 24 1.5. Организация каталога
- 25 1.6. Как решать задачи проектирования с помощью паттернов
- 25 Поиск подходящих объектов
- 27 Определение степени детализации объекта
- 27 Специфицирование интерфейсов объекта
- 29 Специфицирование реализации объектов
- 32 Механизмы повторного использования
- 37 Сравнение структур времени выполнения и времени компиляции
- 38 Проектирование с учетом будущих изменений
- 43 1.7. Как выбирать паттерн проектирования
- 44 1.8. Как пользоваться паттерном проектирования
- 46 Глава 2. Проектирование редактора документов
- 46 2.1. Задачи проектирования
- 48 2.2. Структура документа
- 49 Рекурсивная композиция
- 51 Глифы
- 53 Паттерн компоновщик
- 53 2.3. Форматирование
- 54 Инкапсуляция алгоритма форматирования
- 54 Классы Compositor и Composition
- 56 Стратегия
- 56 2.4. Оформление пользовательского интерфейса
- 57 Прозрачное обрамление
- 58 Моноглиф
- 60 Паттерн декоратор
- 60 2.5. Поддержка нескольких стандартов внешнего облика
- 61 Абстрагирование создания объекта
- 61 Фабрики и изготовленные классы
- 64 Паттерн абстрактная фабрика
- 64 2.6. Поддержка нескольких оконных систем
- 64 Можно ли воспользоваться абстрактной фабрикой?
- 65 Инкапсуляция зависимостей от реализации
- 67 Классы Window и WindowImp
- 68 Подклассы WindowImp
- 70 Конфигурирование класса Window с помощью WindowImp
- 70 Паттерн мост
- 71 2.7. Операции пользователя
- 72 Инкапсуляция запроса
- 73 Класс Command и его подклассы
- 74 Отмена операций
- 75 История команд
- 76 Паттерн команда
- 76 2.8. Проверка правописания и расстановка переносов
- 77 Доступ к распределенной информации
- 77 Инкапсуляция доступа и порядка обхода
- 78 Класс Iterator и его подклассы
- 81 Паттерн итератор
- 81 Обход и действия, выполняемые при обходе
- 86 Класс Visitor и его подклассы
- 87 Паттерн посетитель
- 88 2.9. Резюме
- 89 Глава 3. Порождающие паттерны
- 93 Паттерн Abstract Factory
- 102 Паттерн Builder
- 111 Паттерн Factory
- 121 Паттерн Prototype
- 130 Паттерн Singleton
- 138 Обсуждение порождающих паттернов
- 140 Глава 4. Структурные паттерны
- 141 Паттерн Adapter
- 152 Паттерн Bridge
- 162 Паттерн Composite
- 173 Паттерн Decorator
- 183 Паттерн Facade
- 191 Паттерн Flyweight
- 203 Паттерн Proxy
- 213 Обсуждение структурных паттернов
- 213 Адаптер и мост
- 214 Компоновщик, декоратор и заместитель
- 216 Глава 5. Паттерны поведения
- 217 Паттерн Chain of Responsibility
- 227 Паттерн Command
- 236 Паттерн Interpreter
- 249 Паттерн Iterator
- 263 Паттерн Mediator
- 272 Паттерн Memento
- 280 Паттерн Observer
- 291 Паттерн State
- 300 Паттерн Strategy
- 309 Паттерн Template Method
- 314 Паттерн Visitor
- 328 Обсуждение паттернов поведения
- 328 Инкапсуляция вариаций
- 328 Объекты как аргументы
- 329 Должен ли обмен информацией быть инкапсулированным или распределенным
- 330 Разделение получателей и отправителей
- 332 Резюме
- 333 Глава 6. Заключение
- 333 6.1. Чего ожидать от паттернов проектирования
- 333 Единый словарь проектирования
- 334 Помощь при документировании и изучении
- 334 Дополнение существующих методов
- 335 Цель реорганизации
- 336 6.2. Краткая история
- 337 6.3. Проектировщики паттернов
- 338 Языки паттернов Александра
- 339 Паттерны в программном обеспечении
- 339 6.4. Приглашение
- 340 6.5. На прощание
- 333 6.1. Чего ожидать от паттернов проектирования
- 341 Приложение A. Глоссарий
- 344 Приложение B. Объяснение нотации
- 344 B.1. Диаграмма классов
- 345 B.2. Диаграмма объектов
- 346 B.3. Диаграмма взаимодействий
- 348 Приложение C. Базовые классы
- 348 C.1. List
- 350 C.2. Iterator
- 350 C.3. Listlterator
- 351 C.4. Point
- 351 C.5. Rect
- 353 Библиография
- 359 Алфавитный указатель
Инструкция как скачать книгу Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес: Приемы объектно-ориентированного проектирования. Паттерны проектирования в форматах DjVu, PDF, DOC или fb2 совершенно бесплатно.