Page 42 - 4190
P. 42
бивають на розділи, які перелічені нижче. Такий підхід дозволяє од-
номанітно представляти інформацію одноманітно, полегшує вивчен-
ня, порівняння і застосування патернів.
Назва і класифікація патерна. Назва патерна повинна чітко від-
значати його призначення.
Призначення. Необхідно дати відповіді на такі питання: 1) які
функції патерна; 2) його обґрунтування щодо призначення; 3) яку
конкретну задачу проектування можна вирішити з його допомогою;
4) інші поширені назви патерна, якщо такі відомі.
Мотивація. Сценарій, що відображає задачу проектування і те,
як вона вирішується даною структурою класів або об’єктів. Завдяки
мотивації можна краще зрозуміти наступний, більш абстрактний опис
патерна.
Застосовність. Опис ситуацій, в яких можна застосувати даний
патерн. Приклади проектування, які можна покращити за допомогою
розпізнавання таких ситуацій.
Структура. Графічна побудова класів у патерні з використанням
нотацій, що основані на методиці Object Modeling Technique (OMT).
Використовують також діаграми взаємодії для ілюстрації послідовно-
стей запитів і відношень між об’єктами див. додаток В).
Учасники. Класи або об’єкти, що використані в даному патерні, і
їх функції.
Відношення. Взаємодія учасників для виконання своїх функцій.
Результати. Чи декілька патернів відповідають поставленим ви-
могам? Результати застосування, компроміси, на які доводиться іти.
Як аспекти поведінки системи можна непомітно змінити, використо-
вуючи даний патерн?
Реалізація. Складність і так зване підводне каміння при реаліза-
ції патарна. Поради і рекомендаційні прийоми. Чи є у патерна залеж-
ності від мови програмування?
Приклад коду. Фрагмент коду, що ілюструє імовірну реалізацію
мовами C++, Java або Smalltalk.
Питання для самоконтролю
1. У чому суть концепції партерного проектирования в програму-
ванняі?
2. У чому суть проектування об’єкто-орієнтованих програм за
допомогою шаблонів?
3. З яких основних елементів складається патерн?
42