Структурні шаблони проектування

Ці шаблони переважно присвячені компонуванню об'єктів (object composition). Тобто тому, як сутності можуть використовувати один одного. Ще одне пояснення: структурні шаблони допомагають відповісти на питання "Як побудувати програмний компонент?"
Структурні шаблони проектування

Заступник

Аналогія Відкрити двері з електронним замком можна за допомогою картки доступу (access card) або кнопки обходу системи безпеки. Тобто основна функціональність дверей – відкритися, а поверх неї може бути ще якась функціональність – «заступник». Стисло За допомогою шаблону "Заступник" клас представляє функціональність іншого класу. Вікіпедія У найбільш загальної формі «Заступник» - це
1 min read
Структурні шаблони проектування

Пристосуванець

Аналогія Зазвичай у закладах громадського харчування заварюють чай не окремо для кожного клієнта, а відразу в якійсь великій ємності. Це дозволяє економити ресурси: газ/електрику, час і т. д. Шаблон «Пристосуванець» присвячений загальному використанню (sharing). Стисло Шаблон застосовується для мінімізації використання пам'яті чи обчислювальної вартості рахунок загального використання якомога більшої
1 min read
Структурні шаблони проектування

Фасад

Аналогія Як увімкнути комп'ютер? Ви скажете: "Натиснути кнопку увімкнення". Це тому, що ви використовуєте простий інтерфейс, наданий комп'ютером назовні. А в ньому відбувається дуже багато процесів. Простий інтерфейс для складної підсистеми – це фасад. Стисло Шаблон Фасад надає спрощений інтерфейс для складної підсистеми. Вікіпедія «Фасад» — це об'єкт, що надає спрощений інтерфейс
1 min read
Структурні шаблони проектування

Декоратор

Аналогія Допустимо, у вас свій автосервіс, що надає різні послуги. Як виставляти клієнтам рахунок? Додавати послідовно послуги та їх вартість - і врешті-решт вийде підсумкова сума до оплати. Тут кожен тип послуги це «декоратор». Стисло Шаблон «Декоратор» дозволяє динамічно змінювати поведінку об'єкта під час виконання, обгортаючи його в об'єкт класу
1 min read
Структурні шаблони проектування

Компонувальник

Аналогія Кожна компанія складається із співробітників. У кожного співробітника є ті самі властивості: зарплата, обов'язки, звітність перед кимось, субординація... Коротко Шаблон «Компонувальник» дозволяє клієнтам обробляти окремі об'єкти в єдиному порядку. Вікіпедія Шаблон «Компоновщик» описує загальний порядок обробки групи об'єктів, немов це одиночний екземпляр об'єкта. Суть шаблону — компонування об'єктів у деревоподібну
1 min read
Структурні шаблони проектування

Міст

Аналогія Допустимо, у вас є сайт з кількома сторінками. Ви бажаєте дозволити користувачам змінювати теми оформлення сторінок. Як би ви вчинили? Створили множинні копії кожної сторінки для кожної теми або просто зробили окремі теми та підвантажували їх відповідно до налаштувань користувачів? Шаблон "Міст" дозволяє реалізувати другий підхід. Коротко Шаблон "Міст"
1 min read
Структурні шаблони проектування

Адаптер

Аналогія Допустимо, у вас на карті пам'яті є якісь картинки. Їх слід перенести на комп'ютер. Потрібен адаптер, сумісний із портом комп'ютера, в який можна вставити картку пам'яті. У цьому прикладі адаптер - це картридер. Ще один приклад: перехідник, що дозволяє використовувати американський блок живлення із російською розеткою. Третій приклад: перекладач
1 min read