Приемы объектно-ориентированного проектирования. Паттерны проектирования
Design Patterns. Elements of Reusable Object-Oriented Software
Серия: Библиотека программиста
Издательство: Питер, 2007 г.
Мягкая обложка, 368 стр.
ISBN 5-469-01136-4
Тираж: 2000 экз.
Формат: 70x100/16
рейтинг: 7
+ - −
цена:
5.45 белорусских рублей
Нет на складе
От издателя
В предлагаемой книге описываются простые и изящные решения типичных задач, возникающих в объектно-ориентированном проектировании. Паттерны появились, потому что многие разработчики искали пути повышения гибкости и степени повторного использования своих программ. Найденные решения воплощены в краткой и легко применимой на практике форме. Авторы излагают принципы использования паттернов проектирования и приводят их каталог. Таким образом, книга одновременно решает две задачи. Во-первых, здесь демонстрируется роль паттернов в создании архитектуры сложных систем. Во-вторых, применяя содержащиеся в справочнике паттерны, проектировщик сможет с легкостью разрабатывать собственные приложения. Издание предназначено как для профессиональных разработчиков, так и для программистов, осваивающих объектно-ориентированное проектирование.
Содержание
Содержание
Предисловие .........................................................................................................................................
Глава 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 ............................................................................................................................................
Библиография .......................................................................................................................................
Алфавитный указатель
Читать дальше…
Свернуть
Лучшие книги этого раздела
Сортировка: по рейтингу, по дате