Патерни проектування (ІПЗ)

Тип: Нормативний

Кафедра: радіоелектронних і комп'ютерних систем

Навчальний план

СеместрКредитиЗвітність
36Залік

Лекції

СеместрК-сть годинЛекторГрупа(и)
332професор Оленич І. Б.ФеП-21, ФеП-22, ФеП-23

Лабораторні

СеместрК-сть годинГрупаВикладач(і)
332ФеП-21Сінькевич О. О., Сінькевич О. О.
ФеП-22Сінькевич О. О., Сінькевич О. О.
ФеП-23Сінькевич О. О., Сінькевич О. О.

Опис навчальної дисципліни

Метою викладання навчальної дисципліни є одержання студентами знань про основні види патернів проектування; об’єднання об’єктно-орієнтованого коду у контексті породжувальних, структурних і поведінкових патернів; процес побудови структурних одиниць патернів; стандарти оформлення об’єктно-орієнтованого коду; механізми взаємодії складної структури класів.
Основні завдання вивчення дисципліни: навчити студентів використовувати Python для реалізації і застосування патернів проектування; ознайомити студентів з основними видами патернів: структурного, породжувального і поведінкового; забезпечити розуміння проблематики та своєчасності застосування конкретних патернів на багатьох прикладах; показати нюанси і схеми конкретних патернів і дати навички для їх використання у проектування типових рішень в межах об’єктно-орієнтованої парадигми.
Згідно з вимогами освітньо-професійної програми студенти повинні:
знати: що таке патерн проектування і з чого він складається; класифікацію патернів, історію їх виникнення та фундаментальні джерела; принципи проектування та якості правильної архітектури коду; інтерфейси класів; принцип SOLID; коли і як застосовувати конкретну реалізацію патерна.
вміти: правильно оформляти об’єктно-орієнтований код; застосовувати засвоєний матеріал для створення об’єктно-орієнтованих програм; використовувати Python для програмної реалізації патернів; реалізувати просте модульне тестування; визначати, коли необхідно використовувати патерн певного типу.

Рекомендована література

  1.  Erich Gamma, John Vlissides, Richard Helm, Ralph Johnson. Design patterns, software engineering, object-oriented programming. Addison-Wesley, 1994. – 335 p.
  2.  Ерік Фрімен. Патерни проектування. O’Reilly Media, 2014. – 672 с.
  3.  Sean Bradley. Design Patterns In Python. Common GoF (Gang of Four) Design Patterns Implemented In Python, 2021. – 238 p.
  4.  Robert Martin. Clean Code: A Handbook of Agile Software Craftsmanship. Pearson Education (US), 2008. – 464 p.
  5.  John F. Dooley. Software Development, Design and Coding. Apress, 2017. – 330 p.
  6.  Design Patterns [Електронний ресурс] – Режим доступу до ресурсу: https://sourcemaking.com/design_patterns.Навчальна дисципліна сайт
  7. Швець О. Refactoring and design patterns. Refactoring and Design Patterns. URL: https://refactoring.guru/.
  8. Kasun Indrasiri. Design Patterns for Cloud Native Applications: Patterns in Practice Using APIs, Data, Events, and Streams. O’Reilly Media, 2021. – 314 с.
  9. J Geewax. API Design Patterns. Manning Publications Co, 2021. – 480 c.

Силабус:

Завантажити силабус