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
   43   44   45   46   47   48   49   50   51   52   53