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

Design patterns

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

Шаблонное

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

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

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

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