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