Патерни проектування (ІПЗ)
Тип: Нормативний
Кафедра: радіоелектронних і комп'ютерних систем
Навчальний план
Семестр | Кредити | Звітність |
3 | 6 | Залік |
Лекції
Семестр | К-сть годин | Лектор | Група(и) |
3 | 32 | професор Оленич І. Б. | ФеП-21, ФеП-22, ФеП-23 |
Лабораторні
Семестр | К-сть годин | Група | Викладач(і) |
3 | 32 | ФеП-21 | Сінькевич О. О., Сінькевич О. О. |
ФеП-22 | Сінькевич О. О., Сінькевич О. О. | ||
ФеП-23 | Сінькевич О. О., Сінькевич О. О. |
Опис навчальної дисципліни
Метою викладання навчальної дисципліни є одержання студентами знань про основні види патернів проектування; об’єднання об’єктно-орієнтованого коду у контексті породжувальних, структурних і поведінкових патернів; процес побудови структурних одиниць патернів; стандарти оформлення об’єктно-орієнтованого коду; механізми взаємодії складної структури класів.
Основні завдання вивчення дисципліни: навчити студентів використовувати Python для реалізації і застосування патернів проектування; ознайомити студентів з основними видами патернів: структурного, породжувального і поведінкового; забезпечити розуміння проблематики та своєчасності застосування конкретних патернів на багатьох прикладах; показати нюанси і схеми конкретних патернів і дати навички для їх використання у проектування типових рішень в межах об’єктно-орієнтованої парадигми.
Згідно з вимогами освітньо-професійної програми студенти повинні:
знати: що таке патерн проектування і з чого він складається; класифікацію патернів, історію їх виникнення та фундаментальні джерела; принципи проектування та якості правильної архітектури коду; інтерфейси класів; принцип SOLID; коли і як застосовувати конкретну реалізацію патерна.
вміти: правильно оформляти об’єктно-орієнтований код; застосовувати засвоєний матеріал для створення об’єктно-орієнтованих програм; використовувати Python для програмної реалізації патернів; реалізувати просте модульне тестування; визначати, коли необхідно використовувати патерн певного типу.
Рекомендована література
- Erich Gamma, John Vlissides, Richard Helm, Ralph Johnson. Design patterns, software engineering, object-oriented programming. Addison-Wesley, 1994. – 335 p.
- Ерік Фрімен. Патерни проектування. O’Reilly Media, 2014. – 672 с.
- Sean Bradley. Design Patterns In Python. Common GoF (Gang of Four) Design Patterns Implemented In Python, 2021. – 238 p.
- Robert Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Pearson Education (US), 2008. – 464 p.
- John F. Dooley. Software Development, Design and Coding. Apress, 2017. – 330 p.
- Design Patterns [Електронний ресурс] – Режим доступу до ресурсу: https://sourcemaking.com/
design_patterns.Навчальна дисципліна сайт - Швець О. Refactoring and design patterns. Refactoring and Design Patterns. URL: https://refactoring.guru/.
- Kasun Indrasiri. Design Patterns for Cloud Native Applications: Patterns in Practice Using APIs, Data, Events, and Streams. O’Reilly Media, 2021. – 314 с.
- J Geewax. API Design Patterns. Manning Publications Co, 2021. – 480 c.