Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Design patterns

.pdf
Скачиваний:
18
Добавлен:
13.02.2015
Размер:
292 Кб
Скачать
☆

Шаблонное

проектирование

Паттерны и антипаттерны

Design patterns

●Паттерн (шаблон) проектирования (Design pattern)

- повторимая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста (wikipedia)

Цели шаблонного проектирования

● Шаблоны инкапсулируют в себе ценные знания для решения задач проектирования, что еще более важно - улучшают его качество

(Design patterns encapsulate valuable knowledge to resolve design problems, and more importantly to improve the design quality)

Hsueh N. L., Kuo J. Y., Lin C. C. Object-oriented design: A goal-driven and pattern-based approach // Software & Systems Modeling. – 2009. – Т. 8. – №. 1. – С. 67-84.

История

●Архитектор Cristopher Alexander, 1970

○Разработал язык паттернов

○Данный язык был предназначен не только для архитекторов

●Alexander et al,1977

○253 паттерна для решения типовых задач в городской архитектуре

●Alexander et al, 1988

○Первый пример применения паттернов в архитектуре

●Beck and Cunningham,1987

○Первое применение паттернов в software engineering

●Gamma et al, 1994 (Gang of four - банда четырех)

○Design Patterns: Elements of Reusable Object-Oriented Software

○23 паттерна, применимых к software engineering

Borchers J. O. A pattern approach to interaction design //

AI & SOCIETY. – 2001. – Т. 15. – №. 4. – С. 359-376.

Элементы шаблона

1.Pattern name

○Идентификатор, который может использоваться для описания проблемы проектирования, ее решений и последствий словом или двумя

2.Problem

○Описывает когда применять шаблон

3.Solution

○Описывает элементы, из которых состоит решение проблемы, их связи, роли и взаимодействие

4.Сonsequences

○Описывает результаты, а так же плюсы и минусы применения шаблона

Категории шаблонов

●В Design patterns описываются три категории шаблонов:

○Порождающие

○Структурные

○Поведенческие

Порождающие шаблоны

●Abstract Factory — Абстрактная фабрика

●Builder — Строитель

●Factory Method — Фабричный метод

●Prototype — Прототип

●Singleton — Одиночка

Структурные шаблоны

●Adapter — Адаптер

●Bridge — Мост

●Composite — Компоновщик

●Decorator — Декоратор

●Facade — Фасад

●Flyweight — Приспособленец

●Proxy — Заместитель

Поведенческие шаблоны

●Chain of responsibility — Цепочка обязанностей

●Command — Команда

●Interpreter — Интерпретатор

●Iterator — Итератор

●Mediator — Посредник

●Memento — Хранитель

●Observer — Наблюдатель

●State — Состояние

●Strategy — Стратегия

●Template — Шаблонный метод

●Visitor — Посетитель

Простейшие паттерны

●Согласно Design Patterns

○Abstract Factory

○Adapter

○Composite

○Decorator

○Factory method

○Observer

○Strategy

○Template method

●Ко всему прочему можно добавить

○Singleton

○Null-Object

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]