Весняний РОЗПРОДАЖ
Абстрактна фабрика

Абстрактна фабрика на Swift

Абстрактна фабрика — це породжуючий патерн проектування, який вирішує проблему створення цілих сімейств пов’язаних продуктів, без прив’язки коду до конкретних класів продуктів.

Абстрактна фабрика задає інтерфейс створення всіх доступних типів продуктів, а кожна конкретна реалізація фабрики породжує продукти однієї з варіацій. Клієнтський код викликає методи фабрики для отримання продуктів, замість самостійного створювання їх за допомогою оператора new. При цьому, фабрика сама стежить за тим, щоб створюваний продукт був потрібної варіації.

Складність:

Популярність:

Застосування: Патерн можна часто зустріти в Swift-коді, особливо там, де потрібно породжувати сімейства класів, не прив’язуючи до них свій код (наприклад, у фреймворках).

Ознаки застосування патерна: Патерн можна визначити за методами, що повертають фабрику, яка, в свою чергу, використовується для створення конкретних продуктів, повертаючи їх через абстрактні типи або інтерфейси.

Наступні приклади доступні на Swift Playgrounds.
Вдячність Alejandro Mohamad за створення версії Playground.

Абстрактна фабрика іншими мовами програмування

Абстрактна фабрика на C# Абстрактна фабрика на C++ Абстрактна фабрика на Go Абстрактна фабрика на Java Абстрактна фабрика на PHP Абстрактна фабрика на Python Абстрактна фабрика на Ruby Абстрактна фабрика на Rust Абстрактна фабрика на TypeScript