Page 101 - 4190
P. 101
2) як архітектурні елементи, патерни проектування дрібніші
ніж каскади. Типовий каркас містить декілька патернів. Зворотне
твердження неправильне.
3) патерни проектування менш спеціалізовані, ніж каркаси як
архітектурні елементи. Каркас завжди утворюється для конкретної
предметної області. У принципі каркас графічного редактора можна
використати для моделювання роботи фабрики, але його ніколи не
сплутаєш з каркасом, що призначений спеціально для моделювання.
Навпаки, включені в каталог патерни дозволяється використовувати
додатках майже будь-якого виду. Хоча, безумовно, існують і більш
спеціалізовані патерни (наприклад, патерни для розподілу систем або
паралельного програмування), але навіть вони не диктують вибір ар-
хітектури, в тій мірі, що і каркаси.
Значення каркасів зростає. Якраз з їх допомогою об’єктно-
орієнтовані системи можна використовувати повторно з максималь-
ною ступінню. Великі об’єктно-орієнтовані додатки складаються із
шарів каркасів, що взаємодіють один з одним. Дизайн і код додатків
значною мірою визначаються тими каркасами, які використовували
при його створенні.
Як вибрати патерни проектування. Якщо в розпорядження
програміста є каталог з більше ніж 20 патернів, то важко вирішувати,
який патерн краще підходить для вирішення конкретної задачі проек-
тування. Розглянемо різні підходи до вибору потрібного патерну:
1) необхідно подумати, як патерн вирішує проблеми проектуван-
ня. Як за допомогою патернів найти необхідні об’єкти, визначити по-
трібний ступінь їх деталізації, специфікувати їх інтерфейси;
2) необхідно ознайомитись з розділами каталогу, що описує при-
значення патернів. Звернути увагу на мету кожного патерну для ви-
значення патерну, який в найбільшій мірі підходить для вирішення
конкретної проблеми. Щоб звузити пошук, можна скористатися таб-
лицею 2;
3) треба вивчити взаємозв’язки патернів. На рисунку графічно
відображені співвідношення між різними патернами проектування.
Ця інформація допоможе знайти потрібний патерн або групу патер-
нів;
4) треба проаналізувати патерни з подібною метою. Каталог
складається з трьох частин: породжуючі патерни, структурні патерни
і патерни поведінки. Кожна частина починається зі вступних заува-
жень про патерн певного виду і закінчується розділом, де вони порів-
101