Abstract Factory The purpose of the Abstract Factory is to provide an interface for creating families of related objects, without specifying concrete classes (more...) Builder The Builder pattern separates the construction of a complex object from its representation so that the same construction process can create different representations (more...)