Паттерны объектно-ориентированного проектирования
Book information
Description
Больше 25 лет прошло с момента выхода первого тиража книги Design Patterns. За это время книга из популярной превратилась в культовую. Во всем мире ее рекомендуют прочитать каждому, кто хочет связать жизнь с информационными технологиями и программированием. «Русский» язык, на котором разговаривают айтишники, поменялся, многие англоязычные термины стали привычными, паттерны вошли в нашу жизнь. Перед вами юбилейное издание с обновленным переводом книги, ставшей must-read для каждого программиста. «Паттерны объектно-ориентированного проектирования» пришли на смену «Приемам объектно-ориентированного проектирования». Четыре первоклассных разработчика — Банда четырех — представляют вашему вниманию опыт ООП в виде двадцати трех паттернов. Паттерны появились потому, что разработчики искали пути повышения гибкости и степени повторного использования своих программ. Авторы не только дают принципы использования шаблонов проектирования, но и систематизируют информацию. Вы узнаете о роли паттернов в архитектуре сложных систем и сможете быстро и эффективно создавать собственные приложения с учетом всех ограничений, возникающих при разработке больших проектов. Все шаблоны взяты из реальных систем и основаны на реальной практике. Для каждого паттерна приведен код на C++ или Smalltalk, демонстрирующий его возможности. Предисловие От издательства Глава 1. Введение в паттерны проектирования 1.1. Что такое паттерн проектирования 1.2. Паттерны проектирования в схеме MVC в языке Smalltalk 1.3. Описание паттернов проектирования 1.4. Каталог паттернов проектирования 1.5. Организация каталога 1.6. Как решать задачи проектирования с помощью паттернов Поиск подходящих объектов Определение степени детализации объекта Определение интерфейсов объекта Определение реализации объектов Наследование класса и наследование интерфейса Механизмы повторного использования Сравнение структур времени выполнения и времени компиляции Проектирование с учетом будущих изменений 1.7. Как выбирать паттерн проектирования 1.8. Как пользоваться паттерном проектирования Глава 2. Практический пример: проектирование редактора документов 2.1. Задачи проектирования 2.2. Структура документа Рекурсивная композиция Глифы Паттерн Composite (компоновщик) 2.3. Форматирование Инкапсуляция алгоритма форматирования Классы Compositor и Composition Паттерн Strategy (Стратегия) 2.4. Оформление пользовательского интерфейса Прозрачное окружение Моноглиф Паттерн Decorator (декоратор) 2.5. Поддержка нескольких стандартов оформления Абстрагирование создания объекта Фабрики и изготовленные классы Паттерн Abstract Factory (абстрактная фабрика) 2.6. Поддержка нескольких оконных систем Можно ли воспользоваться абстрактной фабрикой? Инкапсуляция зависимостей от реализации Классы Window и WindowImp Подклассы WindowImp Настройка класса Window с помощью WindowImp Паттерн Bridge (мост) 2.7. Операции пользователя Инкапсуляция запроса Класс Command и его подклассы Отмена операций История команд Паттерн Command (команда) 2.8. Проверка правописания и расстановка переносов Доступ к распределенной информации Инкапсуляция доступа и порядка обхода Класс Iterator и его подклассы Паттерн Iterator (итератор) Обход и действия, выполняемые при обходе Инкапсуляция анализа Класс Visitor и его подклассы Паттерн 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. На прощание Приложение А. Глоссарий Приложение Б. Объяснение нотации Б.1. Схема классов Б.2. Схема объектов Б.3. Схема взаимодействий Приложение В. Фундаментальные классы В.1. List В.2. Iterator В.3. ListIterator В.4. Point В.5. Rect Библиография Алфавитный указатель
Similar books
Приемы объектно-ориентированного проектирования. Паттерны проектирования
2015 · PDF
Паттерны объектно-ориентированного проектирования
2021 · PDF
Применение шаблонов проектирования. Дополнительные штрихи
2003 · PDF
Применение шаблонов проектирования - Дополнительные штрихи
2003 · PDF
Методология научных исследований и прикладной аналитики: Учебник. Изд. 5-е, дополн. и перераб. В 2 т. Т.2: Научные исследования: Мастерство и искусство научного мышления и научной работы / Methodology of Scientific Research and Practical Analytics: A Textbook: Fifth Edition. In two volumes. Vol.2: Scientific research: Art of scientific thinking and scientific work / Méthodologie de la recherche scientifique et de l’analytique appliquée: Manuel: Cinquième édition. En 2 tomes. T.2: Recherches scientifiques: Art de la pensée scientifique et du travail scientifique
2025 · PDF
Методы и понятия философии искусства: практикум : уровень подготовки кадров высшей квалификации: ассиснтурв-стажировка : специальности: 54.09.03 "Искусство дизайна (по видам)", 54.09.02 "Мастерство декоративно-прикладного искусства и народных промыслов (по видам)" : укрупненная группа специальностей: 54.00.00 "Изобразительное и прикладные виды искусств" : квалификация выпускника: "Преподаватель творческих дисциплин в высшей школе. Дизайнер", "Преподаватель творческих дисциплин в высшей школе. Художник декоративно-прикладного искусства" : форма обучения: очная
2022 · PDF
Разработка графического интерфейса пользователя информационной системы с использованием библиотеки QT: учебное пособие для студентов 1 курса направлений подготовки 09.04.02 "Информационные системы и технологии", 27.04.03 "Системный анализ и управление" очной формы обучения, 2 курса направления подготовки 10.05.03 "Информационная безопасность автоматизированных систем" очной формы обучения и 3 курса направления подготовки 09.03.02 "Информационные системы и технологии" очной и заочной форм обучения : учебное электронное издание
2021 · PDF
Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.) =: Archaeological Cultures of Siberia in the context of Cross-cultural contacts in Eurasia: dedicated to the 300th anniversary of the first scientific archaeological excavations in Siberia (1722) : материалы Международной археологической конференции молодых исследователей "Археологические культуры Сибири в контексте кросс-культурных контактов в Евразии: к 300-летию первых научных археологических раскопок в Сибири (1722 г.)" (Новосибирск, 21-25 ноября 2022 г.)
2022 · PDF