Бакалавриат
2020/2021



Паттерны проектирования программного обеспечения
Статус:
Курс по выбору (Бизнес-информатика)
Направление:
38.03.05. Бизнес-информатика
Кто читает:
Департамент бизнес-информатики
Где читается:
Высшая школа бизнеса
Когда читается:
3-й курс, 3 модуль
Формат изучения:
без онлайн-курса
Преподаватели:
Старичков Никита Юрьевич
Язык:
русский
Кредиты:
3
Контактные часы:
30
Программа дисциплины
Аннотация
Курс "Паттерны проектирования ПО" предназначен для формирования у слушателей общего понимания базовых принципов проектирования ПО, а также изучения классических паттернов проектирования, знакомых всем программистам по не менее классической книге "Банды четырех". В рамках курса большое внимание уделяется выработке практических навыков самостоятельного проектирования ПО, что достигается путем выполнения небольших заданий на семинарах и выполнения большого итогового командного задания, влияющего на итоговую оценку по курсу.
Цель освоения дисциплины
- Изучить базовые методологии описания архитектуры ПО
- Изучить базовые принципы проектирования ПО
- Изучить классические паттерны объектно-ориентированного проектирования
- Выработать базовые навыки проектирования ПО в концепции ООП
Планируемые результаты обучения
- Знать и понимать критерии хорошей и неудачной архитектуры.
- Знать и понимать принципы SOLID, закон Деметры и принцип "high cohesion / low coupling"
- Знать базовую нотацию UML2. Знать базовые диаграммы UML2 (классов, последовательности, действий). Уметь описывать архитектуру ПО с помощью диаграмм UML2
- Знать классификацию паттернов проектирования. Понимать, что такое паттерны и антипаттерны проектирования
- Знать порождающие паттерны, решаемые ими проблемы, и уметь применять их на практике
- Знать структурные паттерны, решаемые ими проблемы, и уметь применять их на практике
- Знать поведенческие паттерны, решаемые ими проблемы, и уметь применять их на практике
Содержание учебной дисциплины
- Критерии хорошей и неудачной архитектуры ПОЭффективность, гибкость, расширяемость и др. положительные критерии архитектуры ПО. Жесткость, хрупкость и неподвижность архитектуры ПО.
- Базовые принципы описания архитектуры ПО.Знакомство с UML 2. Базовые диаграммы (классов, последовательности, действий)
- Базовые принципы проектированияПринципы SOLID. Закон Деметры. High cohesion / low coupling.
- Понятие о паттернах проектированияПаттерны и антипаттерны. Предназначение и описание. Классификация.
- Порождающие паттерныФабричный метод. Абстрактная фабрика. Строитель. Прототип. Одиночка.
- Структурные паттерныАдаптер. Мост. Компоновщик. Декоратор. Фасад. Легковес. Заместитель
- Поведенческие паттерныЦепочка обязанностей. Команда. Итератор. Посредник. Снимок (хранитель). Наблюдатель. Состояние. Стратегия. Шаблонный метод. Посетитель. Понятие о двойной диспетчеризации.
Список литературы
Рекомендуемая основная литература
- Гамма Э. Приемы объектно-ориентированного проектирования. Паттерны проектирования / Э. Гамма, Р. Хелм, Р. Джонсон. - Санкт-Петербург : Питер, 2020. - 368 с. - ISBN 978-5-4461-1213-5. - URL: https://ibooks.ru/bookshelf/361851/reading (дата обращения: 12.10.2020). - Текст: электронный.
- Приемы объектно - ориентированного проектирования : паттерны проектирования, Гамма, Э., 2014
- Раджпут Динеш. Spring. Все паттерны проектирования. - Санкт-Петербург : Питер, 2019. - 320 с. - ISBN 978-5-4461-0935-7. - URL: https://ibooks.ru/bookshelf/359638/reading (дата обращения: 12.10.2020). - Текст: электронный.
- Фримен Э. Паттерны проектирования / Э. Фримен, Э. Фримен, К. Сьерра, Б. Бейтс. - Санкт-Петербург : Питер, 2017. - 656 с. - ISBN 978-5-496-00782-5. - URL: https://ibooks.ru/bookshelf/354827/reading (дата обращения: 12.10.2020). - Текст: электронный.
Рекомендуемая дополнительная литература
- Буч Г., Рамбо Д., Якобсон И. - Язык UML. Руководство пользователя - Издательство "ДМК Пресс" - 2008 - 496с. - ISBN: 5-94074-334-X - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1246
- Гома Х. - UML. Проектирование систем реального времени, параллельных и распределенных приложений - Издательство "ДМК Пресс" - 2007 - 704с. - ISBN: 5-94074-101-0 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/1232
- Фримен Э. Изучаем программирование на JavaScript / Э. Фримен, Э. Робсон. - Санкт-Петербург : Питер, 2015. - 640 с. - ISBN 978-5-496-01257-7. - URL: https://ibooks.ru/bookshelf/342857/reading (дата обращения: 12.10.2020). - Текст: электронный.