+7 (812) 703-02-02 info@hse.spbstu.ru

DEV-DP100. Введение в шаблоны проектирования

Длительность дисциплины: 32 ак.ч.


Аннотация

Целью реализации программы модуля «DEV-DP100. Введение в шаблоны проектирования» является изучение шаблонов проектирования и получения навыков их применения в процессе разработки программного обеспечения.

Знания и умения, полученные в результате изучения

В результате освоения программы обучающийся должен уметь:
•    выбирать шаблоны проектирования на основе анализа поставленной задачи;
•    оценивать позитивные и возможные негативные последствия применения шаблона проектировании в реализации конкретного приложения или системы.

В результате освоения программы обучающийся должен знать:

•    основные шаблоны проектирования и условия их применения;
•    структуры и особенности реализации основных шаблонов проектирования.

В результате освоения программы обучающийся должен приобрести практический опыт:

•    реализации программного обеспечения с использованием шаблонов проектирования.

Содержание дисциплины

Тема 1. Понятие о шаблонах проектирования
1.1    Введение в шаблоны проектирования. Общие свойства и структура шаблонов   
    Определение шаблона проектирования.
    Назначение и роль шаблонов проектирования в процессе разработки программного обеспечения.
    Классификация шаблонов.
    Классические шаблоны GoF.
    Общие свойства шаблонов проектирования.
    Структура шаблонов.
    Общепринятое описание шаблонов.
1.2    Общий подход к проектированию на основе шаблонов   
    Общие принципы объектно-ориентированного анализа.
    Основы языка UML.
    Представление шаблонов с использованием нотации языка UML.
    Разработка объектной модели предметной области.
    Разработка поведенческой модели предметной области.
    Выявление возможности применения шаблона.
Практические занятия   
1.    Объектно-ориентированный анализ задачи.

Тема 2. Основные шаблоны проектирования
2.1    Общие шаблоны проектирования.   
    Назначение и особенности применения общих шаблонов проектирования.
2.2    Шаблон Delegation   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
2.3    Шаблоны Interface   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
2.4    Шаблон Abstract Superclass   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
2.5    Шаблоны Marker Interface и Immutable   
    Описание шаблона Marker Interface и его применения.
    Описание и применение шаблона Immutable.
Практические занятия   
1.    Применение общих шаблонов в проектировании.
2.    Реализация общих шаблонов в исходном коде.

Тема 3. Структурные шаблоны

3.1    Обзор структурных шаблонов   
    Назначение структурных шаблонов.
    Общие свойства структурных шаблонов.
3.2    Шаблон Adapter   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
3.3    Шаблон Proxy   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
3.4    Шаблон Decorator   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
3.5    Шаблон Façade   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
3.6    Шаблон Composite   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
3.7    Шаблон Bridge   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
3.8    Шаблон Flyweight   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
Практические занятия   
1.    Определение различий в реализации шаблонов Adapter, Decorator и Proxy.
2.    Реализация шаблонов в приложении.

Тема 4. Порождающие шаблоны
4.1    Общий обзор порождающих шаблонов   
    Назначение порождающих шаблонов.
    Общие свойства порождающих шаблонов.
    Особенности применения.
4.2    Шаблон Factory method   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
4.3    Шаблон Abstract Factory   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
4.4    Шаблон Builder   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
4.5    Шаблон Prototype   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
4.6    Шаблон Syngleton   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
4.7    Шаблон Object Pool   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
Практические занятия   
1.    Реализация шаблонов Factory method  и Abstract Factory.
2.    Реализация шаблона Builder.
3.    Реализация шаблона Object Pool.

Тема 5. Поведенческие шаблоны

5.1    Шаблон Chain of responsibility   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.2    Шаблон Command   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.3    Шаблон Iterator   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.4    Шаблоны Memento и Mediator   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.5    Шаблон State   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.6    Шаблон Strategy   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.7    Шаблон Observer   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
5.8    Шаблон Visitor   
    Общее описание шаблона.
    Решаемые задачи.
    Последствия применения.
    Реализация шаблона.
    Примеры применения.
Практические занятия   
1.    Реализация шаблона Chain of Responsibility.
2.    Реализация шаблона Observer.
3.     Реализация шаблона Visitor.

Тема 6. Промежуточная аттестация
Практические занятия    Зачет