Введение в шаблоны и их классификация

Содержание

Слайд 2

Рекомендуемая литература Э. Гамма [и др.]. Приемы объектно-ориентированного проектирования. Паттерны проектирования.

Рекомендуемая литература

Э. Гамма [и др.]. Приемы объектно-ориентированного проектирования. Паттерны проектирования. –

С.-Пб.: Питер, 2008
М. Гранд. Шаблоны проектирования в Java. – М.: Новое знание, 2004
А. Шаллоуей, Дж. Тротт. Шаблоны проектирования. Новый подход к объектно-ориентированному анализу и проектированию. – М.: Вильямс, 2002
Слайд 3

Что такое шаблон? или

Что такое шаблон?

или

Слайд 4

Шаблон вычисления алгоритм поиска минимального элемента массива и его индекса да да нет нет

Шаблон вычисления

алгоритм поиска минимального элемента массива и его индекса

да

да

нет

нет

Слайд 5

Шаблон структуры данных template class List { Type* array; int size;

Шаблон структуры данных

template class List
{
Type* array;
int size;
public:
List();
List(const List& list);
Type&

operator[] (int index);
int getSize() const;
List& operator= (const List& list);
void add(Type value);
~List();
};
Слайд 6

Возникновение шаблонов проектирования 1970-е годы Архитектор Кристофер Александер

Возникновение шаблонов проектирования

1970-е годы Архитектор Кристофер Александер

Слайд 7

Понятие шаблона проектирования Имя Описание задачи Контекст (ситуация) Предлагаемое решение Ожидаемые результаты Повторяемость

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

Имя
Описание задачи
Контекст (ситуация)
Предлагаемое решение
Ожидаемые результаты
Повторяемость

Слайд 8

Достоинства шаблонов проектирования Обобщение опыта экспертов и доступное его изложение

Достоинства шаблонов проектирования

Обобщение опыта экспертов и доступное его изложение

Слайд 9

Достоинства шаблонов проектирования Формирование профессиональной терминологии

Достоинства шаблонов проектирования

Формирование профессиональной терминологии

Слайд 10

Достоинства шаблонов проектирования Экономия времени на поиск решения

Достоинства шаблонов проектирования

Экономия времени на поиск решения

Слайд 11

История развития шаблонов проектирования 1970-е годы – архитектор Кристофер Александер составил

История развития шаблонов проектирования

1970-е годы – архитектор Кристофер Александер составил набор

шаблонов для проектирования зданий и городов
1987 год – Кент Бэк и Вард Каннигем применили шаблоны Александера для разработки графических оболочек на языке Smalltalk
Слайд 12

История развития шаблонов проектирования 1988 год – Эрих Гамма приступил к

История развития шаблонов проектирования

1988 год – Эрих Гамма приступил к написанию

докторской диссертации по перенесению этой методики на разработку программ в целом
1989-91 года – Джеймс Коплин разрабатывает идиомы для программирования на C++
Слайд 13

История развития шаблонов проектирования 1991 год – Эрих Гамма, Ричард Хелм,

История развития шаблонов проектирования

1991 год – Эрих Гамма, Ричард Хелм, Ральф

Джонсон и Джон Влиссидс (Gang of Four, сокр. GoF, «Банда четырех») публикуют книгу «Design Patterns — Elements of Reusable Object-Oriented Software»
Слайд 14

Шаблон проектирования Singleton public class Singleton { private static Singleton instance

Шаблон проектирования Singleton

public class Singleton {
private static Singleton instance = null;
private

Singleton() {}
public static Singleton getInstance() {
if(instance == null) {
instance = new Singleton();
}
return instance;
}
}
Слайд 15

Шаблон проектирования Information Expert Шаблон Information Expert определяет базовый принцип назначения

Шаблон проектирования Information Expert

Шаблон Information Expert определяет базовый принцип назначения обязанностей.

Он утверждает, что обязанности должны быть назначены объекту, который владеет максимумом необходимой информации для выполнения обязанности. Такой объект называется информационным экспертом
определение взято с wikipedia.org
Слайд 16

Шаблон проектирования Command

Шаблон проектирования Command

Слайд 17

Классификация шаблонов проектирования Шаблоны проектирования

Классификация шаблонов проектирования

Шаблоны
проектирования

Слайд 18

Классификация шаблонов проектирования Шаблоны проектирования Объектные Архитектурные UI

Классификация шаблонов проектирования

Шаблоны
проектирования
Объектные
Архитектурные
UI

Слайд 19

Классификация шаблонов проектирования Шаблоны проектирования Объектные GRASP GoF Архитектурные UI

Классификация шаблонов проектирования

Шаблоны
проектирования
Объектные
GRASP
GoF
Архитектурные
UI

Слайд 20

Классификация шаблонов проектирования Шаблоны проектирования Объектные GRASP GoF Архитектурные Организационные Управляющие Взаимодействие с БД UI

Классификация шаблонов проектирования

Шаблоны
проектирования
Объектные
GRASP
GoF
Архитектурные
Организационные
Управляющие
Взаимодействие
с БД
UI