Page 42 - 4190
P. 42

бивають на розділи, які перелічені нижче. Такий підхід дозволяє од-
            номанітно представляти інформацію одноманітно, полегшує вивчен-
            ня, порівняння і застосування патернів.
                  Назва і класифікація патерна. Назва патерна повинна чітко від-

            значати його призначення.
                  Призначення.  Необхідно  дати  відповіді  на  такі  питання:  1)  які
            функції  патерна;  2)  його  обґрунтування  щодо  призначення;  3)  яку

            конкретну задачу проектування можна вирішити з його допомогою;
            4) інші поширені назви патерна, якщо такі відомі.
                  Мотивація.  Сценарій, що  відображає  задачу  проектування  і  те,
            як вона вирішується даною структурою класів або об’єктів.  Завдяки

            мотивації можна краще зрозуміти наступний, більш абстрактний опис
            патерна.
                  Застосовність. Опис ситуацій, в яких можна застосувати даний

            патерн. Приклади проектування, які можна покращити за допомогою
            розпізнавання таких ситуацій.
                  Структура. Графічна побудова класів у патерні з використанням

            нотацій, що основані на методиці  Object Modeling Technique (OMT).
            Використовують також діаграми взаємодії для ілюстрації послідовно-
            стей запитів і відношень між об’єктами див. додаток В).

                  Учасники. Класи або об’єкти, що використані в даному патерні, і
            їх функції.
                  Відношення. Взаємодія учасників для виконання своїх функцій.
                  Результати. Чи декілька патернів відповідають поставленим ви-

            могам?  Результати застосування, компроміси, на які доводиться іти.
            Як аспекти поведінки системи можна непомітно змінити, використо-
            вуючи даний патерн?

                  Реалізація. Складність і так зване підводне каміння при реаліза-
            ції патарна. Поради і рекомендаційні прийоми. Чи є у патерна залеж-
            ності від мови програмування?
                  Приклад коду. Фрагмент коду, що ілюструє імовірну реалізацію

            мовами C++,  Java або Smalltalk.


                                           Питання для самоконтролю

                  1. У чому суть концепції партерного проектирования в програму-
            ванняі?
                  2. У  чому  суть  проектування  об’єкто-орієнтованих  програм  за
            допомогою шаблонів?

                  3. З яких основних елементів складається патерн?

                                                              42
   37   38   39   40   41   42   43   44   45   46   47