Page 54 - 4190
P. 54

  Client –  екземпляри класів  у  цій ролі  використовують  об'єкти
            Reusable;
                    ReusablePool – екземпляри класів у цій ролі управляють об'єк-
            тами Reusable для використання об'єктами Client.

                  Патерн Prototype
                  Патерн Прототип (Prototype) – задає види об'єктів, що створю-
            ються, за допомогою екземпляру-прототипу, та створює нові об'єкти

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

                    треба запобігти побудові ієрархій класів або фабрик, паралель-
            них ієрархій класів продуктів;
                    екземпляри класу можуть перебувати в одному з не дуже вели-

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

                  UML-діаграма класів патерну Prototype представлена на рисунку 5.8.























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

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

                  1. У чому суть патерну Builder (будівельник)?

                  2. У чому суть патерну Factory Method (фабричний метод)
                  3. У чому суть патерну Singleton (сингелтон)?
                  4. У чому суть патерну Абстрактна фабрика (Abstract Factory)?
                  5. У  чому  суть  патерерну  Відкладена  (лінива)  ініціалізація  (Lazy

            initialization)?
                  6. У чому суть патерну Object Pool (пул об'єктів)?
                  7. У чому суть патерну Прототип (Prototype)?

                                                              54
   49   50   51   52   53   54   55   56   57   58   59