Проектирование ИС (часть 2) Тема 2 : Паттерны проектирования — презентация
logo
Проектирование ИС (часть 2) Тема 2 : Паттерны проектирования
  • Проектирование ИС (часть 2) Тема 2 : Паттерны проектирования
  • Тема 2 : Паттерны проектирования Содержание
  • Введение
  • Паттерн: определение
  • Классификация паттернов
  • Классификация паттернов
  • Паттерны проектирования Классификация
  • Порождающие паттерны
  • Структурные паттерны
  • Паттерны поведения
  • Порождающие паттерны
  • Паттерн «Абстрактная фабрика» Задача
  • Паттерн «Абстрактная фабрика» Решение
  • Паттерн «Одиночка» Задача
  • Паттерн «Одиночка» Решение
  • Паттерн «Прототип» Задача
  • Паттерн «Прототип» Решение
  • Паттерн «Строитель» Задача
  • Паттерн «Строитель» Решение
  • Паттерн «Строитель» Решение
  • Паттерн «Фабричный метод» Задача
  • Паттерн «Фабричный метод» Решение
  • Паттерн «Фабричный метод» Пример
  • Структурные паттерны
  • Паттерн «Адаптер» Задача
  • Паттерн «Адаптер» Решение
  • Паттерн «Декоратор» Задача
  • Паттерн «Декоратор» Решение
  • Паттерн «Декоратор» Пример
  • Паттерн «Заместитель» Задача
  • Паттерн «Заместитель» Решение
  • Паттерн «Компоновщик» Задача
  • Паттерн «Компоновщик» Решение
  • Паттерн «Мост» Задача
  • Паттерн «Мост» Решение
  • Паттерн «Мост» Пример
  • Паттерн «Приспособленец» Задача
  • Паттерн «Приспособленец» Решение
  • Паттерн «Фасад» Задача
  • Паттерн «Фасад» Решение
  • Паттерн «Фасад» Пример
  • Паттерн «Фасад» Пример
  • Паттерны поведения
  • Паттерн «Интерпретатор» Задача
  • Паттерн «Интерпретатор» Решение
  • Паттерн «Итератор» Задача
  • Паттерн «Итератор» Решение
  • Паттерн «Команда» Задача
  • Паттерн «Команда» Решение
  • Паттерн «Наблюдатель» Задача
  • Паттерн «Наблюдатель» Решение
  • Паттерн «Наблюдатель» Пример
  • Паттерн «Посетитель» Задача
  • Паттерн «Посетитель» Решение
  • Паттерн «Посетитель» Решение
  • Паттерн «Посредник» Задача
  • Паттерн «Посредник» Решение
  • Паттерн «Посредник» Пример
  • Паттерн «Посредник» Пример
  • Паттерн «Посредник» Пример
  • Паттерн «Состояние» Задача
  • Паттерн «Состояние» Решение
  • Паттерн «Стратегия» Задача
  • Паттерн «Стратегия» Решение
  • Паттерн «Хранитель» Задача
  • Паттерн «Хранитель» Решение
  • Паттерн «Цепочка обязанностей» Задача
  • Паттерн «Цепочка обязанностей» Решение
  • Паттерн «Шаблонный метод» Задача
  • Паттерн «Шаблонный метод» Решение
  • Аспекты паттернов
  • Пример использования паттернов
  • Проектирование текстового редактора Функции
  • Структура документа
  • Структура объектов Текстового редактора
  • Структура документа Глиф
  • Иерархия классов Glyph
  • Форматирование документа
  • Форматирование
  • Оформление шрифтов
  • Оформление шрифтов
  • Паттерны: Вопросы
  • Заключение
  • Список литературы
1/84

Объем лекций по теме: 6 часов Лектор: Щеголева Людмила Владимировна

Изображение слайда

ПрИС 2 Паттерны проектирования 2 Тема 2 : Паттерны проектирования Содержание Введение Порождающие паттерны Структурные паттерны Паттерны поведения Пример использования паттернов

Изображение слайда

Слайд 3: Введение

Тема 2: Паттерны проектирования

Изображение слайда

Слайд 4: Паттерн: определение

ПрИС 2 Паттерны проектирования 4 Паттерн: определение имя задача решение результаты

Изображение слайда

Слайд 5: Классификация паттернов

ПрИС 2 Паттерны проектирования 5 Классификация паттернов Архитектурные паттерны Паттерны проектирования Паттерны анализа Паттерны тестирования Паттерны реализации

Изображение слайда

Слайд 6: Классификация паттернов

ПрИС 2 Паттерны проектирования 6 Классификация паттернов Архитектурные паттерны Паттерны проектирования Паттерны анализа Паттерны тестирования Паттерны реализации

Изображение слайда

ПрИС 2 Паттерны проектирования 7 Паттерны проектирования Классификация порождающие паттерны структурные паттерны паттерны поведения

Изображение слайда

Слайд 8: Порождающие паттерны

ПрИС 2 Паттерны проектирования 8 Порождающие паттерны Абстрактная фабрика Одиночка Прототип Строитель Фабричный метод

Изображение слайда

Слайд 9: Структурные паттерны

ПрИС 2 Паттерны проектирования 9 Структурные паттерны Адаптер Декоратор Заместитель Компоновщик Мост Приспособленец Фасад

Изображение слайда

ПрИС 2 Паттерны проектирования 10 Паттерны поведения Интерпретатор Итератор Команда Наблюдатель Посетитель Посредник Состояние Стратегия Хранитель Цепочка обязанностей Шаблонный метод

Изображение слайда

Слайд 11: Порождающие паттерны

Тема 2: Паттерны проектирования

Изображение слайда

Слайд 12: Паттерн «Абстрактная фабрика» Задача

ПрИС 2 Паттерны проектирования 12 Паттерн «Абстрактная фабрика» Задача предоставляет интерфейс для создания семейств взаимосвязанных или взаимозависимых объектов, не специфицируя их конкретных классов другие имена: Инструментарий

Изображение слайда

Слайд 13: Паттерн «Абстрактная фабрика» Решение

ПрИС 2 Паттерны проектирования 13 Паттерн «Абстрактная фабрика» Решение

Изображение слайда

Слайд 14: Паттерн «Одиночка» Задача

ПрИС 2 Паттерны проектирования 14 Паттерн «Одиночка» Задача необходим только один экземпляр класса

Изображение слайда

Слайд 15: Паттерн «Одиночка» Решение

ПрИС 2 Паттерны проектирования 15 Паттерн «Одиночка» Решение Одиночка ПолучитьДоступ()

Изображение слайда

Слайд 16: Паттерн «Прототип» Задача

ПрИС 2 Паттерны проектирования 16 Паттерн «Прототип» Задача система не должна зависеть от того, как в ней создаются, компонуются и представляются объекты

Изображение слайда

Слайд 17: Паттерн «Прототип» Решение

ПрИС 2 Паттерны проектирования 17 Паттерн «Прототип» Решение Клиент Прототип Клонировать() Конкретный Прототип 1 Клонировать() Конкретный Прототип 2 Клонировать()

Изображение слайда

Слайд 18: Паттерн «Строитель» Задача

ПрИС 2 Паттерны проектирования 18 Паттерн «Строитель» Задача необходимо отделить конструирование сложного объекта от его представления

Изображение слайда

Слайд 19: Паттерн «Строитель» Решение

ПрИС 2 Паттерны проектирования 19 Паттерн «Строитель» Решение Продукт Директор Создать() Строитель ПостроитьЧасть() Конкретный Строитель ПостроитьЧасть() ПолучитьРезультат()

Изображение слайда

Слайд 20: Паттерн «Строитель» Решение

ПрИС 2 Паттерны проектирования 20 Паттерн «Строитель» Решение : Клиент : Директор : Конкретный Строитель new КонкретныйСтроитель ПолучитьРезультат() Создать() ПостроитьЧастьА() new Директор( КонкретныйСтроитель) ПостроитьЧастьВ() ПостроитьЧастьС()

Изображение слайда

Слайд 21: Паттерн «Фабричный метод» Задача

ПрИС 2 Паттерны проектирования 21 Паттерн «Фабричный метод» Задача необходимо определить интерфейс для создания объекта, но оставить подклассам возможность решения о том, какой класс инстанцировать другие имена: виртуальный конструктор

Изображение слайда

Слайд 22: Паттерн «Фабричный метод» Решение

ПрИС 2 Паттерны проектирования 22 Паттерн «Фабричный метод» Решение Продукт Конкретный Продукт Создатель ФабричныйМетод() Конкретный Создатель ФабричныйМетод()

Изображение слайда

Слайд 23: Паттерн «Фабричный метод» Пример

ПрИС 2 Паттерны проектирования 23 CreateDocument () NewDocument() OpenDocument() Open() Close() Save() Revert() Паттерн «Фабричный метод» Пример Document MyDocument Application MyApplication CreateDocument ()

Изображение слайда

Слайд 24: Структурные паттерны

Тема 2: Паттерны проектирования

Изображение слайда

Слайд 25: Паттерн «Адаптер» Задача

ПрИС 2 Паттерны проектирования 25 Паттерн «Адаптер» Задача необходимо обеспечить взаимодействие несовместимых интерфейсов

Изображение слайда

Слайд 26: Паттерн «Адаптер» Решение

ПрИС 2 Паттерны проектирования 26 Паттерн «Адаптер» Решение

Изображение слайда

Слайд 27: Паттерн «Декоратор» Задача

ПрИС 2 Паттерны проектирования 27 Паттерн «Декоратор» Задача необходимо возложить дополнительные обязанности на отдельный объект, а не на класс в целом другие имена: Оболочка Обертка

Изображение слайда

Слайд 28: Паттерн «Декоратор» Решение

ПрИС 2 Паттерны проектирования 28 Паттерн «Декоратор» Решение Компонент Операция() Конкретный Компонент Операция() Декоратор Операция() Конкретный Декоратор 1 Операция() Конкретный Декоратор 2 Операция() Новая Операция()

Изображение слайда

Слайд 29: Паттерн «Декоратор» Пример

ПрИС 2 Паттерны проектирования 29 Паттерн «Декоратор» Пример VisualComponent Draw () TextView Draw () Decorator Draw () ScrollDecorator scrollPosition Draw () ScrollTo() BorderDecorator borderWidth Draw () DrawBorder ()

Изображение слайда

Слайд 30: Паттерн «Заместитель» Задача

ПрИС 2 Паттерны проектирования 30 Паттерн «Заместитель» Задача необходимо управлять доступом к объекту, так чтобы создавать громоздкие объекты «по требованию» другие имена: Суррогат

Изображение слайда

Слайд 31: Паттерн «Заместитель» Решение

ПрИС 2 Паттерны проектирования 31 Паттерн «Заместитель» Решение Клиент Реальный Субъект Субъект Запрос() Заместитель Запрос()

Изображение слайда

Слайд 32: Паттерн «Компоновщик» Задача

ПрИС 2 Паттерны проектирования 32 Паттерн «Компоновщик» Задача необходимо обрабатывать группу или композицию структур объектов одновременно

Изображение слайда

Слайд 33: Паттерн «Компоновщик» Решение

ПрИС 2 Паттерны проектирования 33 Паттерн «Компоновщик» Решение Операция() Добавить() Удалить() ПолучитьЭлемент() Элемент Операция() Клиент Компонент Операция() Добавить() Удалить() ПолучитьЭлемент() СоставнойОбъект потомки

Изображение слайда

Слайд 34: Паттерн «Мост» Задача

ПрИС 2 Паттерны проектирования 34 Паттерн «Мост» Задача необходимо отделить абстракцию от ее реализации так, чтобы то и другое можно было изменять независимо другие имена: Описатель Тело

Изображение слайда

Слайд 35: Паттерн «Мост» Решение

ПрИС 2 Паттерны проектирования 35 Паттерн «Мост» Решение Клиент Абстракция Реализация Уточненная Абстракция Конкретная Реализация 1 Конкретная Реализация 2

Изображение слайда

Слайд 36: Паттерн «Мост» Пример

ПрИС 2 Паттерны проектирования 36 Паттерн «Мост» Пример

Изображение слайда

Слайд 37: Паттерн «Приспособленец» Задача

ПрИС 2 Паттерны проектирования 37 Паттерн «Приспособленец» Задача необходимо обеспечить поддержку множества мелких объектов

Изображение слайда

Слайд 38: Паттерн «Приспособленец» Решение

ПрИС 2 Паттерны проектирования 38 Паттерн «Приспособленец» Решение ПриспособленецФабрика ПриспособленецСоздать(ключ) Клиент Приспособленец Операция(внешнее состояние) Конкретный Приспособленец Операция(внешнее состояние) Неразделяемый Конкретный Приспособленец Операция(внешнее состояние)

Изображение слайда

Слайд 39: Паттерн «Фасад» Задача

ПрИС 2 Паттерны проектирования 39 Паттерн «Фасад» Задача необходимо обеспечить унифицированный интерфейс с набором разрозненных реализаций или интерфейсов

Изображение слайда

Слайд 40: Паттерн «Фасад» Решение

ПрИС 2 Паттерны проектирования 40 Паттерн «Фасад» Решение «interface» IConcreteClass ConcreteClass Facade «interface» IFacade 1..* 1

Изображение слайда

Слайд 41: Паттерн «Фасад» Пример

ПрИС 2 Паттерны проектирования 41 Паттерн «Фасад» Пример « Interface » I Адрес + ЗадатьУлицу() + ЗадатьКорпус() + ЗадатьДом() + ЗадатьКвартиру() + ПрочитатьУлицу() + ПрочитатьКорпус() + ПрочитатьДом() + ПрочитатьКвартиру() « Interface » I Фасад + ЗадатьАдрес() + ПрочитатьАдрес() Адрес - Улица : String - Корпус : Integer - Дом : Integer - Квартира : Integer Фасад + Адрес : String

Изображение слайда

Слайд 42: Паттерн «Фасад» Пример

ПрИС 2 Паттерны проектирования 42 Паттерн «Фасад» Пример : Фасад : Адрес ЗадатьАдрес() ЗадатьУлицу() ЗадатьКорпус() ЗадатьДом() ЗадатьКвартиру()

Изображение слайда

Слайд 43: Паттерны поведения

Тема 2: Паттерны проектирования

Изображение слайда

Слайд 44: Паттерн «Интерпретатор» Задача

ПрИС 2 Паттерны проектирования 44 Паттерн «Интерпретатор» Задача имеется часто встречающаяся, подверженная изменениям задача

Изображение слайда

Слайд 45: Паттерн «Интерпретатор» Решение

ПрИС 2 Паттерны проектирования 45 Паттерн «Интерпретатор» Решение Клиент Абстрактное Выражение Разобрать(Контекст) Терминальное Выражение Разобрать(Контекст) Нетерминальное Выражение Разобрать(Контекст) Контекст

Изображение слайда

Слайд 46: Паттерн «Итератор» Задача

ПрИС 2 Паттерны проектирования 46 Паттерн «Итератор» Задача необходимо предоставить способ последовательного доступа ко всем элементам составного объекта, не раскрывая его внутреннего представления другие имена: Курсор

Изображение слайда

Слайд 47: Паттерн «Итератор» Решение

ПрИС 2 Паттерны проектирования 47 Первый() Следующий() Выполнено() ТекущийЭлемент() Паттерн «Итератор» Решение Агрегат СоздатьИтератор() Клиент Итератор Конкретный Агрегат СоздатьИтератор() Конкретный Итератор

Изображение слайда

Слайд 48: Паттерн «Команда» Задача

ПрИС 2 Паттерны проектирования 48 Паттерн «Команда» Задача необходимо послать объекту запрос, не зная о том, выполнение какой операции запрошено и кто будет получателем другие имена: Действие Транзакция

Изображение слайда

Слайд 49: Паттерн «Команда» Решение

ПрИС 2 Паттерны проектирования 49 Паттерн «Команда» Решение Клиент Команда Выполнить() Инициатор Получатель Действие() Конкретная Команда Состояние Выполнить()

Изображение слайда

Слайд 50: Паттерн «Наблюдатель» Задача

ПрИС 2 Паттерны проектирования 50 Паттерн «Наблюдатель» Задача один объект («Подписчик») должен знать об изменении состояний или некоторых событиях другого объекта, при этом необходимо поддерживать низкий уровень связывания с объектом «Подписчик» другие имена: Опубликовать – подписаться Delegation Event Model

Изображение слайда

Слайд 51: Паттерн «Наблюдатель» Решение

ПрИС 2 Паттерны проектирования 51 Паттерн «Наблюдатель» Решение Subject Concrete Subject ConcreteObserver Observer 1..* 1

Изображение слайда

Слайд 52: Паттерн «Наблюдатель» Пример

ПрИС 2 Паттерны проектирования 52 Паттерн «Наблюдатель» Пример ТаблицаБД Таблица MSAccess Круговая Диаграмма Диаграмма 1..* 1 Столбиковая Диаграмма

Изображение слайда

Слайд 53: Паттерн «Посетитель» Задача

ПрИС 2 Паттерны проектирования 53 Паттерн «Посетитель» Задача необходимо определить новую операцию, не изменяя классы объектов

Изображение слайда

Слайд 54: Паттерн «Посетитель» Решение

ПрИС 2 Паттерны проектирования 54 Паттерн «Посетитель» Решение ПосетитьЭлементА() ПосетитьЭлементВ() Клиент Посетитель СтруктураОбъекта ПосетитьЭлементА() ПосетитьЭлементВ() Конкретный Посетитель1 Элемент Принять(Посетитель) Конкретный Элемент А Принять(Посетитель) ОперацияА() Конкретный Элемент В Принять(Посетитель) ОперацияВ()

Изображение слайда

Слайд 55: Паттерн «Посетитель» Решение

ПрИС 2 Паттерны проектирования 55 Паттерн «Посетитель» Решение : Структура Объекта : Конкретный Элемент А : Конкретный Элемент В : Конкретный Посетитель Принять(Посетитель) ПосетитьЭлементА(КонкретныйЭлементА) ОперацияА() Принять(Посетитель) ПосетитьЭлементВ( КонкретныйЭлементВ) ОперацияВ()

Изображение слайда

Слайд 56: Паттерн «Посредник» Задача

ПрИС 2 Паттерны проектирования 56 Паттерн «Посредник» Задача обеспечить взаимодействие множества объектов, сформировав при этом слабую связанность и избавив объекты от необходимости явно ссылаться друг на друга

Изображение слайда

Слайд 57: Паттерн «Посредник» Решение

ПрИС 2 Паттерны проектирования 57 Паттерн «Посредник» Решение Посредник Коллеги Конкретный Посредник Конкретный Коллега 1 Конкретный Коллега 2

Изображение слайда

Слайд 58: Паттерн «Посредник» Пример

ПрИС 2 Паттерны проектирования 58 Паттерн «Посредник» Пример

Изображение слайда

Слайд 59: Паттерн «Посредник» Пример

ПрИС 2 Паттерны проектирования 59 Паттерн «Посредник» Пример DialogDirector ShowDialog() CreateWidget() WidgetChanged(Widget) Widget Changed() FontDialog Director CreateWidget() WidgetChanged(Widget) ListBox GetSelection() Edit SetText()

Изображение слайда

Слайд 60: Паттерн «Посредник» Пример

ПрИС 2 Паттерны проектирования 60 Паттерн «Посредник» Пример

Изображение слайда

Слайд 61: Паттерн «Состояние» Задача

ПрИС 2 Паттерны проектирования 61 Паттерн «Состояние» Задача необходимо варьировать поведение объекта в зависимости от его внутреннего состояния

Изображение слайда

Слайд 62: Паттерн «Состояние» Решение

ПрИС 2 Паттерны проектирования 62 Паттерн «Состояние» Решение Контекст Запросить() Конкретное Состояние 1 Изменить() Состояние Изменить() Конкретное Состояние 2 Изменить()

Изображение слайда

Слайд 63: Паттерн «Стратегия» Задача

ПрИС 2 Паттерны проектирования 63 Паттерн «Стратегия» Задача необходимо спроектировать изменяемые, но надежные алгоритмы или стратегии другие имена Политика

Изображение слайда

Слайд 64: Паттерн «Стратегия» Решение

ПрИС 2 Паттерны проектирования 64 Паттерн «Стратегия» Решение Контекст КонтекстИнтерфейс() Стратегия АлгоритмИнтерфейс() Конкретная Стратегия А АлгоритмИнтерфейс() Конкретная Стратегия В АлгоритмИнтерфейс() Конкретная Стратегия С АлгоритмИнтерфейс()

Изображение слайда

Слайд 65: Паттерн «Хранитель» Задача

ПрИС 2 Паттерны проектирования 65 Паттерн «Хранитель» Задача необходимо зафиксировать поведение объекта для реализации другие имена: Лексема

Изображение слайда

Слайд 66: Паттерн «Хранитель» Решение

ПрИС 2 Паттерны проектирования 66 Паттерн «Хранитель» Решение Посыльный Хозяин СоздатьХранитель() УстановитьХранитель() Хранитель УстановитьСостояние() СчитатьСостояние()

Изображение слайда

Слайд 67: Паттерн «Цепочка обязанностей» Задача

ПрИС 2 Паттерны проектирования 67 Паттерн «Цепочка обязанностей» Задача запрос должен быть обработан несколькими объектами

Изображение слайда

Слайд 68: Паттерн «Цепочка обязанностей» Решение

ПрИС 2 Паттерны проектирования 68 Паттерн «Цепочка обязанностей» Решение Клиент Обработчик ОбработатьЗапрос() Конкретный Обработчик 1 ОбработатьЗапрос() Конкретный Обработчик 2 ОбработатьЗапрос() преемник

Изображение слайда

Слайд 69: Паттерн «Шаблонный метод» Задача

ПрИС 2 Паттерны проектирования 69 Паттерн «Шаблонный метод» Задача необходимо определить алгоритм и реализовать возможность переопределения некоторых шагов алгоритма для подклассов без изменения общей структуры алгоритма

Изображение слайда

Слайд 70: Паттерн «Шаблонный метод» Решение

ПрИС 2 Паттерны проектирования 70 Паттерн «Шаблонный метод» Решение АбстрактныйКласс ШаблонныйМетод () Операция1 () Операция2() КонкретныйКласс Операция1() Операция2()

Изображение слайда

Слайд 71: Аспекты паттернов

ПрИС 2 Паттерны проектирования 71 Аспекты паттернов Назначение Паттерн Аспекты Порождающие паттерны Абстрактная фабрика Семейства порождаемых объектов Одиночка Единственный экземпляр класса Прототип Класс, из которого инстанцируется объект Строитель Способ создания собственного объекта Фабричный метод Инстанцируемый подкласс объекта Структурные паттерны Адаптер Интерфейс к объекту Декоратор Обязанности объекта без порождения подкласса Заместитель Способ доступа к объекту, его местоположение Компоновщик Структура и состав объекта Мост Реализация объекта Приспособленец Накладные расходы на хранение объектов Фасад Интерфейс к подсистеме Паттерны поведения Интерпретатор Грамматика и интерпретация языка Итератор Способ обхода элементов агрегата Команда Время и способ выполнения запроса Наблюдатель Множество объектов, зависящих от другого объекта. Способ, которым зависимые объекты поддерживают себя в актуальном состоянии Посетитель Операции, которые можно применить к объекту, не меняя класса Посредник Объекты, взаимодействующие между собой, способ их коопераций Состояние Состояние объекта Стратегия Алгоритм Хранитель Закрытая информация, хранящаяся вне объекта и время ее сохранения Цепочка обязанностей Объект, выполняющий запрос Шаблонный метод Шаги алгоритма

Изображение слайда

Слайд 72: Пример использования паттернов

Тема 2: Паттерны проектирования

Изображение слайда

Слайд 73: Проектирование текстового редактора Функции

ПрИС 2 Паттерны проектирования 73 Проектирование текстового редактора Функции документ состоит из текста и графики документ разбит на несколько колонок колонки состоят из строк строка состоит из символов или графики для текста можно установить тип шрифта, размер, выравнивание функция проверки правописания функция расстановки переносов

Изображение слайда

Слайд 74: Структура документа

ПрИС 2 Паттерны проектирования 74 Структура документа

Изображение слайда

Слайд 75: Структура объектов Текстового редактора

ПрИС 2 Паттерны проектирования 75 Структура объектов Текстового редактора

Изображение слайда

Слайд 76: Структура документа Глиф

ПрИС 2 Паттерны проектирования 76 Структура документа Глиф абстрактный класс всех объектов документа подклассы: примитивные графические элементы (символ, рисунок) структурные элементы (строка, колонка) содержат информацию о своих предках и потомках могут нарисовать себя на экране содержат информацию об объеме занимаемого пространства

Изображение слайда

Слайд 77: Иерархия классов Glyph

ПрИС 2 Паттерны проектирования 77 Иерархия классов Glyph Glyph + Bounds(Rect&) # Draw () + Intersects(Point&) : boolean + Insert(Glyph, int) + Remove(Glyph) + Child(int) : *Glyph + Parent() : *Glyph Character c: char Draw () Row Draw () Column Draw () Picture Draw ()

Изображение слайда

Слайд 78: Форматирование документа

ПрИС 2 Паттерны проектирования 78 Форматирование документа алгоритм форматирования не должен зависеть от глифов

Изображение слайда

Слайд 79: Форматирование

ПрИС 2 Паттерны проектирования 79 Форматирование Glyph + Insert(Glyph, int) Composition + Insert(Glyph, int) Compositor + Compose() + SetComposition() ArrayCompositor + Compose() TexCompositor + Compose()

Изображение слайда

Слайд 80: Оформление шрифтов

ПрИС 2 Паттерны проектирования 80 Оформление шрифтов

Изображение слайда

Слайд 81: Оформление шрифтов

ПрИС 2 Паттерны проектирования 81 Оформление шрифтов

Изображение слайда

Слайд 82: Паттерны: Вопросы

ПрИС 2 Паттерны проектирования 82 Паттерны: Вопросы Что такое паттерн? Классификация паттернов. Классификация паттернов проектирования.

Изображение слайда

Слайд 83: Заключение

ПрИС 2 Паттерны проектирования 83 Заключение Паттерн описывает задачу, которая снова и снова появляется в работе Паттерн включает имя, задачу, решение, результаты Разработаны паттерны архитектурные, проектирования, анализа, тестирования, реализации

Изображение слайда

Последний слайд презентации: Проектирование ИС (часть 2) Тема 2 : Паттерны проектирования: Список литературы

ПрИС 2 Паттерны проектирования 84 Список литературы Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования. / Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. – СПб.: Питер, 2001. – 368 с. Ларман К. Применение UML и шаблонов проектирования / К. Ларман. – М.: «Вильямс», 2001. – 496 с.

Изображение слайда

Похожие презентации