Страница курса Паттерны проектирования — различия между версиями
Материал из Вики ИТ мехмата ЮФУ
Admin (обсуждение | вклад) (→Мост (Bridge)) |
Admin (обсуждение | вклад) (→Компоновщик (Composite)) |
||
Строка 57: | Строка 57: | ||
==== Компоновщик (Composite) ==== | ==== Компоновщик (Composite) ==== | ||
+ | Объединяет объекты в древовидные структуры. Единообразно трактует простые и составные объекты. | ||
+ | |||
+ | Пример. Графические фигуры - это окружность, квадрат, отрезок и СоставнаяФигура, которая состоит из других фигур, в то же время являясь фигурой. | ||
==== Декоратор ==== | ==== Декоратор ==== |
Версия 09:29, 17 июля 2014
Содержание
План лекций (набросок)
Литература
- Д. Влиссидес, Э.Гамма, Р. Хелм, Р. Джонсон. Приёмы объектно ориентированного проектирования.Паттерны проектирования
- Фримен Р., Фримен Л., Сьерра К., Бейтс Б. - Паттерны проектирования
- Гранд М. - Шаблоны проектирования в Java
- Смит Д. Элементарные шаблоны проектирования (2013)
- Стерлинг С., Массен О. Применение шаблонов Java
- Обзор паттернов проектирования на citforum.ru
- Шпаргалка по шаблонам проектирования на Хабрахабре
- Шпаргалка по шаблонам проектирования на itdumka.com.ua
Типы заданий
- По системе классов нарисовать UML-диаграмму
- По UML-диаграмме создать систему классов
- Реализовать задачу с применением данного паттерна и сдать отчет в указанном виде (вид отчета на паттерны разработать)
- В коде увидеть паттерн
- Переделать код без паттерна в код с паттерном
Необходимые факты из ООП
- Нотация UML-диаграмм классов и диаграмм последовательности
- Делегирование
- Наследование
- Полиморфизм и принцип подстановки
- Интерфейсы
Ранее известные паттерны
- Упаковка параметров
- Делегирование
- Итератор
- Выполнение операции для элементов полиморфного контейнера
Паттерны GoF
Порождающие паттерны
Абстрактная фабрика
Пример MazeGame
Строитель (Builder)
Пример MazeGame
Фабричный метод
Пример MazeGame
Прототип
Пример MazeGame
Singleton
Графическая система
Структурные паттерны
Адаптер
Адаптирует интерфейс одного класса к другому
Мост (Bridge)
Позволяет менять интерфейс и реализацию независимо.
Пример: множество фигур и множество графических систем.
Компоновщик (Composite)
Объединяет объекты в древовидные структуры. Единообразно трактует простые и составные объекты.
Пример. Графические фигуры - это окружность, квадрат, отрезок и СоставнаяФигура, которая состоит из других фигур, в то же время являясь фигурой.