Примітка. Питання - в кінці публікації.
Я прочитав інші потоки stackoverflow щодо методу абстрактного заводу проти фабрики . Я розумію наміри кожного зразків. Однак я не чіткий щодо визначення.
Фабричний метод визначає інтерфейс для створення об'єкта, але дозволяє підкласам вирішувати, який із них використовувати. Фабричний метод дозволяє класам відкладати екземпляри до підкласів.
Навпаки, абстрактний завод пропонує інтерфейс для створення сімей пов’язаних або залежних об'єктів без конкретизації їх конкретних класів.
Abstract Factory виглядає дуже схожий на метод фабрики . Я намалював кілька класів UML, щоб проілюструвати свою суть.
Примітка:
- Діаграма з www.yuml.com, тому вони не ідеально орієнтовані. Але це безкоштовний сервіс :).
- Діаграми можуть бути не ідеальними. Я досі вивчаю шаблони дизайну GoF .
Заводський метод:
Абстрактна фабрика (лише 1 член):
Анотація заводу (більше членів):
Запитання:
- Якщо в « Фабриці абстрактних» є лише один творець і один продукт, чи це все ще шаблон « Фабрика абстрактних»? (інтерфейс для створення сімей)
- Чи можна створити бетонний засіб " Фабричний метод" з інтерфейсу чи це має бути з класу? (класи відкладають екземпляри до підкласів)
- Якщо абстрактна фабрика може мати лише одного творця та один продукт, чи є єдиною різницею між « Фабрикою абстрактних» та « Фабричним методом» те, що творець для першого - «Інтерфейс», а «другий» - «Клас»?