О чём курс
Паттерны (patterns, шаблоны) представляют собой совокупность некоего опыта, пригодную для повторного использования. Паттерны находят применение во всех областях деятельности, поскольку дают возможность использовать сработавшие ранее решения. Знание паттернов проектирования позволяет не только быстрее строить Ваши решения и получать качественный исходный код, но и эффективнее общаться с коллегами, которые уже освоили данную технологию.
В курсе рассматриваются три типа паттернов: структурные – описывающие типовые взаимосвязи между классами (объектами) программной системы, порождающие – описывающие типовые способы контроля за процессом создания экземпляров классов и поведенческие – реализующие типовые алгоритмы, применяемые практически в каждой программной системе.
Тренинг построен на сквозном примере, когда слушатели на основе поставленной задачи создают решение, и тем самым, знакомятся с каждым паттерном.
Цели
После завершения обучения, слушатели смогут:
- описать понятие паттернов и принципы их использования;
- описать проблемы и преимущества проектирование на базе повторного использования кода;
- использовать терминологию паттернов в обсуждение, проектирование и разработке;
- разрабатывать приложение на базе паттернов.
Целевая аудитория
Разработчики; технические лидеры.
Предварительная подготовка
1. Знание принципов объектно-ориентированного программирования.
2. Опыт работы с объектно-ориентированными языками от 1 года.
3. Желательно знакомство с Java, UML.
Для кого
Разработчик
Улучшаемые навыки
Понимание основных шаблонов проектирования
Применение шаблонов в C++
Создание гибкой архитектуры
Решение распространенных проблем проектирования
Документирование и стандартизация использования шаблонов
Темы курса
01
Введение в паттерны проектирования
- Принципы хорошего дизайна программной системы (SOLID)
-
Понятие паттерна проектирования
-
Метамодель паттерна проектирования
-
Элементы паттерна проектирования
- Composite
-
Decorator
-
Proxy
-
Adapter
-
Flyweight
-
Bridge
-
Facade
- Factory Method
-
Abstract Factory
-
Builder
-
Prototype
-
Singleton
- Chain of Responsibility
-
Command
-
Interpreter
-
Iterator
-
Mediator
-
Memento
-
Observer
-
State
-
Strategy
-
Template Method
-
Visitor
05
Процесс поиска решения, основанный на паттернах (необязательный модуль)
- Реализация структурных паттернов
-
Реализация порождающих паттернов
-
Реализация поведенческих паттернов
Чему вы научитесь
01
Научитесь различать и применять шаблоны проектирования (GoF)
02
Освоите особенности реализации шаблонов проектирования на языке C++
03
Научитесь использовать шаблоны проектирования для создания гибкой и расширяемой архитектуры
04
Освоите методы применения шаблонов проектирования для решения распространенных проблем, таких как создание объектов, управление состоянием и взаимодействие между компонентами
05
Научитесь документировать и стандартизировать использование шаблонов проектирования в ваших проектах