Патерни проєктування - це стандартні способи ефективно розв’язувати задачі проєктування програмного забезпечення.
Структурні патерни проєктування – це шаблони та правила того, як із класів та їх об'єктів утворюються більші за розмірами та складніші структури.
Даний курс допоможе розробникам краще розуміти та застосовувати структурні патерни для покращення архітектури своїх програмних проєктів.
На курсі ви дізнаєтесь про патерн "Адаптер", його призначення та використання для забезпечення взаємодії між несумісними інтерфейсами. Розглянете структурний патерн "Декоратор", який дозволяє динамічно додавати нові функціональності об'єктам та забезпечувати гнучкість в розширенні функціоналу програм. Поговоримо про патерн "Замісник" (Proxy), який дозволяє контролювати доступ до об'єкта, функцій або ресурсів. Розглянете сфери застосування патерна "Замісник", як він може поліпшити дизайн програми. Порівняєте використання патернів "Декоратор" та "Замісник" на практичних прикладах. Дізнаєтесь, як обрати правильний патерн для конкретної ситуації та використовувати їх для досягнення конкретних цілей.
Навчитеся використовувати патерн «Міст» для розділення абстракції від її реалізації, щоб обидві можна було змінювати незалежно. Зрозумієте, як патерн "Міст" сприяє створенню гнучких та розширюваних систем. Навчитеся використовувати патерн "Фасад" для втілення від простого інтерфейсу до складної системи класів, бібліотек або підсистем. Розберете, як робити їх більш зрозумілими для користувачів. Розглянете патерн "Компонувальник", який дозволяє класам працювати як зі списком об'єктів, так і з окремими об'єктами та будувати складні деревоподібні структури.
Для гарного засвоєння матеріалів курсу необхідно розуміння основних концепцій програмування, як-от змінні, умови, цикли і функції та знання основ ООП (класи, об'єкти, успадкування, інкапсуляція та поліморфізм).
У цьому вступному уроці буде розглянуто структурні патерни програмування та розказано, як вони допомагають поліпшити архітектуру програм. Основний фокус буде на патерні "Адаптер", його призначенні та використанні для забезпечення взаємодії між несумісними інтерфейсами.