Аналогія
Відкрити двері з електронним замком можна за допомогою картки доступу (access card) або кнопки обходу системи безпеки. Тобто основна функціональність дверей – відкритися, а поверх неї може бути ще якась функціональність – «заступник».
Ці шаблони переважно присвячені компонуванню об’єктів (object composition). Тобто тому, як сутності можуть використовувати один одного. Ще одне пояснення: структурні шаблони допомагають відповісти на питання “Як побудувати програмний компонент?”
Відкрити двері з електронним замком можна за допомогою картки доступу (access card) або кнопки обходу системи безпеки. Тобто основна функціональність дверей – відкритися, а поверх неї може бути ще якась функціональність – «заступник».
Зазвичай у закладах громадського харчування заварюють чай не окремо для кожного клієнта, а відразу в якійсь великій ємності. Це дозволяє економити ресурси: газ/електрику, час і т. д. Шаблон «Пристосуванець» присвячений загальному використанню (sharing).
Як увімкнути комп’ютер? Ви скажете: “Натиснути кнопку увімкнення”. Це тому, що ви використовуєте простий інтерфейс, наданий комп’ютером назовні. А в ньому відбувається дуже багато процесів. Простий інтерфейс для складної підсистеми – це фасад.
Допустимо, у вас свій автосервіс, що надає різні послуги. Як виставляти клієнтам рахунок? Додавати послідовно послуги та їх вартість – і врешті-решт вийде підсумкова сума до оплати. Тут кожен тип послуги це «декоратор».
Кожна компанія складається із співробітників. У кожного співробітника є ті самі властивості: зарплата, обов’язки, звітність перед кимось, субординація…
Допустимо, у вас є сайт з кількома сторінками. Ви бажаєте дозволити користувачам змінювати теми оформлення сторінок. Як би ви вчинили? Створили множинні копії кожної сторінки для кожної теми або просто зробили окремі теми та підвантажували їх відповідно до налаштувань користувачів? Шаблон “Міст” дозволяє реалізувати другий підхід.
Допустимо, у вас на карті пам’яті є якісь картинки. Їх слід перенести на комп’ютер. Потрібен адаптер, сумісний із портом комп’ютера, в який можна вставити картку пам’яті. У цьому прикладі адаптер – це картридер. Ще один приклад: перехідник, що дозволяє використовувати американський блок живлення із російською розеткою. Третій приклад: перекладач — це адаптер, що з’єднує двох людей, які розмовляють різними мовами.