АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Відносини учасників паттерна. - Creator надає абстрактний метод FactoryMethod() для створення екземпляра продукту, який повертає посилання на Product

Читайте также:
  1. II. Соціальні відносини як форма прояву соціальних взаємодій.
  2. Аграрне виробництво в національній економіці. Форми господарювання і земельні відносини
  3. Взаємовідносини органів державної влади й місцевого самоврядування з органами Служби безпеки України
  4. Взаємовідносини органів публічної влади із судовими органами
  5. Види документації основних учасників ремонтно-будівельного господарства
  6. Відносини
  7. Відносини між класами
  8. Відносини місцевих державних адміністрацій у системі вертикальних та горизонтальних зв’язків
  9. Відносини учасників паттерна.
  10. Відносини учасників паттерна.
  11. Відносини учасників паттерна.

- Creator надає абстрактний метод FactoryMethod() для створення екземпляра продукту, який повертає посилання на Product, тобто довіряє своїм підкласам реалізацію відповідного конкретного продукту. В цьому і полягає суть Factory Method;

- Creator покладає відповідальність за створення екземпляра конкретного продукту на свої підкласи;

- ConcreteCreator реалізує метод FactoryMethod(), забезпечуючи створення об’єкта класу ConcreteProduct.

Особливості програмної реалізації. Класична програмна реалізація Фабричного методу може бути представлена, як це здійснено на рис. 4.12.

 

Рис. 4.12. Приклад програмної реалізації Фабричного методу

 

У C ++ фабричні методи завжди є віртуальними функціями, а часто навіть винятково віртуальними. Потрібно бути обережними і не викликати фабричні методи в конструкторі класу Creator: бо в цей момент фабричний метод у похідному класі ConcreteCreator ще недоступний. Обійти таку складність можна, якщо одержувати доступ до продуктів тільки за допомогою функцій доступу, що створюють продукт по запиті. Замість того, щоб створювати конкретний продукт, конструктор просто ініціалізує його нулем. Функція доступу повертає продукт, але спочатку перевіряє, чи він існує. Якщо це не так, функція доступу створює продукт. Подібну техніку часто називають відкладеною ініціалізацією.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.004 сек.)