Page 63 - 4190
P. 63

тися до об'єкта класу «Суб'єкт», якщо інтерфейси «Реального Суб'єк-
            та» і «Суб'єкта» однакові). Оскільки інтерфейс «Реального Суб'єкта»
            ідентичний інтерфейсу «Суб'єкта», так що «Заступника» можна під-
            ставити замість «Реального Суб'єкта», контролює доступ до «Реаль-

            ного Суб'єкта», може відповідати за створення або видалення «Реаль-
            ного Суб'єкта». «Суб'єкт» визначає загальний для «Реального Суб'єк-
            та» і «Заступника» інтерфейс, так, що «Заступник» може бути вико-

            ристаний скрізь, де очікується «Реальний Суб'єкт».
                  «Заступник» може мати й інші обов'язки, а саме:
                    видалений «Заступник» може відповідати за кодування запиту і
            його аргументів і відправлення закодованого запиту реальному «Су-

            б'єктові»;
                    віртуальний  «Заступник»  може  кешувати  додаткову  інформа-
            цію про реального «Суб'єкта», щоб відкласти його створення;

                    захищаючий «Заступник» може перевіряти, чи має клієнтський
            об'єкт необхідні для виконання запиту має рацію.
                  UML-діаграма класів патерна Proxy представлена на рисунку 6.7.




























                             Рисунок 6.7 – UML-діаграма класів патерна Proxy

                  Патерн Composite

                  Патерн Composite (компонувальник) – структурний шаблон, який
            об'єднує об'єкти в ієрархічну деревовидну структуру, і дозволяє уні-
            фіковане звертання для кожного елемента дерева.
                  Дозволяє користувачам будувати складні структури з простіших

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

                                                              63
   58   59   60   61   62   63   64   65   66   67   68