WINTER SALE IS ON!
Factory Method

Factory Method in Swift

Factory method is a creational design pattern which solves the problem of creating product objects without specifying their concrete classes.

The Factory Method defines a method, which should be used for creating objects instead of using a direct constructor call (new operator). Subclasses can override this method to change the class of objects that will be created.

If you can’t figure out the difference between various factory patterns and concepts, then read our Factory Comparison.

Complexity:

Popularity:

Usage examples: The Factory Method pattern is widely used in Swift code. It’s very useful when you need to provide a high level of flexibility for your code.

Identification: Factory methods can be recognized by creation methods that construct objects from concrete classes. While concrete classes are used during the object creation, the return type of the factory methods is usually declared as either an abstract class or an interface.

The following examples are available on Swift Playgrounds.
Kudos to Alejandro Mohamad for creating the Playground version.

Factory Method in Other Languages

Factory Method in C# Factory Method in C++ Factory Method in Go Factory Method in Java Factory Method in PHP Factory Method in Python Factory Method in Ruby Factory Method in Rust Factory Method in TypeScript