Page 48 - 4190
P. 48
Класичний варіант фабричного методу, коли інтерфейс фабрич-
них методів оголошується в незалежному класі-фабриці, а їх реаліза-
ція визначається конкретними підкласами цього класу.
UML-діаграма класів патерну Factory Method «класична реаліза-
ція» зображена на рисунку 5.4.
Рисунок 5.4 - UML-діаграма класів патерну Factory Method
«класична реалізація»
Класичний варіант патерну Factory Method використовує ідею
поліморфної фабрики. Спеціально виділений для створення об'єктів
поліморфний базовий клас Factory оголошує інтерфейс фабричного
методу, а похідні класи його реалізують.
Представлений варіант патерну Factory Method є найбільш поши-
реним, але не єдиним. Можливі такі варіації:
клас Factory має реалізацію фабричного методу за замовчуван-
ням;
фабричний метод класу Factory параметризований типом ство-
рюваного об'єкту (як і у представленого раніше, простого варіанту
Factory Method) і має реалізацію за замовчуванням. У цьому випадку,
похідні від класи від класу Factory потрібні лише для того, щоб ви-
значити нестандартну поведінку певного фабричного методу.
Перевагою патерну Factory Method є те, що він створює об'єкти
різних типів, дозволяючи системі залишатися незалежною як від са-
мого процесу створення, так і від типів створюваних об'єктів.
48