Ланцюжок відповідальності

Аналогія

Допустимо, для вашого банківського рахунку є три способи оплати (A, B і C). Кожен має на увазі різні доступні суми грошей: A – 100 доларів, B – 300, C – 1000. Пріоритетність способів при оплаті: А, потім В, потім С. Ви намагаєтеся купити щось за 210 доларів. На підставі «ланцюжка відповідальності» система спробує оплатити способом А. Якщо грошей вистачає, то оплата проходить, а ланцюжок переривається. Якщо грошей не вистачає – то система переходить до способу, і т.д.

Читати далі

Заступник

Аналогія

Відкрити двері з електронним замком можна за допомогою картки доступу (access card) або кнопки обходу системи безпеки. Тобто основна функціональність дверей – відкритися, а поверх неї може бути ще якась функціональність – «заступник».

Читати далі

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

Аналогія

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

Читати далі

Фасад

Аналогія

Як увімкнути комп’ютер? Ви скажете: “Натиснути кнопку увімкнення”. Це тому, що ви використовуєте простий інтерфейс, наданий комп’ютером назовні. А в ньому відбувається дуже багато процесів. Простий інтерфейс для складної підсистеми – це фасад.

Читати далі

Декоратор

Аналогія

Допустимо, у вас свій автосервіс, що надає різні послуги. Як виставляти клієнтам рахунок? Додавати послідовно послуги та їх вартість – і врешті-решт вийде підсумкова сума до оплати. Тут кожен тип послуги це «декоратор».

Читати далі

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

Аналогія

Кожна компанія складається із співробітників. У кожного співробітника є ті самі властивості: зарплата, обов’язки, звітність перед кимось, субординація…

Читати далі

Міст

Аналогія

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

Читати далі

Адаптер

Аналогія

Допустимо, у вас на карті пам’яті є якісь картинки. Їх слід перенести на комп’ютер. Потрібен адаптер, сумісний із портом комп’ютера, в який можна вставити картку пам’яті. У цьому прикладі адаптер – це картридер. Ще один приклад: перехідник, що дозволяє використовувати американський блок живлення із російською розеткою. Третій приклад: перекладач — це адаптер, що з’єднує двох людей, які розмовляють різними мовами.

Читати далі