The abstract factory pattern in software engineering is a design pattern that provides a way to create families of related objects without imposing their concrete classes, by encapsulating a group of individual factories that have a common theme without specifying their concrete classes.[1] According to this pattern, a client software component creates a concrete implementation of the abstract factory and then uses the generic interface of the factory to create the concrete objects that are part of the family. The client does not know which concrete objects it receives from each of these internal factories, as it uses only the generic interfaces of their products.[1] This pattern separates the details of implementation of a set of objects from their general usage and relies on object composition, as object creation is implemented in methods exposed in the factory interface.[2]
Use of this pattern enables interchangeable concrete implementations without changing the code that uses them, even at runtime. However, employment of this pattern, as with similar design patterns, may result in unnecessary complexity and extra work in the initial writing of code. Additionally, higher levels of separation and abstraction can result in systems that are more difficult to debug and maintain.
^ abFreeman, Eric; Robson, Elisabeth; Sierra, Kathy; Bates, Bert (2004). Hendrickson, Mike; Loukides, Mike (eds.). Head First Design Patterns(paperback). Vol. 1. O'REILLY. p. 156. ISBN 978-0-596-00712-6. Retrieved 2012-09-12.
^Freeman, Eric; Robson, Elisabeth; Sierra, Kathy; Bates, Bert (2004). Hendrickson, Mike; Loukides, Mike (eds.). Head First Design Patterns(paperback). Vol. 1. O'REILLY. p. 162. ISBN 978-0-596-00712-6. Retrieved 2012-09-12.
and 24 Related for: Abstract factory pattern information
The abstractfactorypattern in software engineering is a design pattern that provides a way to create families of related objects without imposing their...
In object oriented programming, the factory method pattern is a creational pattern that uses factory methods to deal with the problem of creating objects...
class-creational patterns defer its object creation to subclasses. Five well-known design patterns that are parts of creational patterns are the abstractfactory pattern...
implementations using an abstractfactorypattern approach. Providers are a subclass of the ProviderBase class and typically instantiated using a factory method. The...
patterns overlap—there are cases when either prototype or abstractfactory would be appropriate. At other times, they complement each other: abstract...
initialized to their default zero values). Some design patterns, such as the AbstractFactoryPattern, actively promote this usage in languages supporting...
deciding which objects need to be created for a given case. Abstractfactory groups object factories that have a common theme. Builder constructs complex objects...
singleton pattern can also be used as a basis for other design patterns, such as the abstractfactory, factory method, builder and prototype patterns. Facade...
instantiation requires the implementation of a creational pattern such as the factory method or the factorypattern, or the use of a dependency-injection framework...
The Archetype pattern separates the logic from implementation; the separation is accomplished by there being two abstract classes, a decorator (for logic)...
In software engineering, a design pattern describes a relatively small, well-defined aspect (i.e. functionality) of a computer program in terms of how...
normal usage of JDBC in any way. JDBCFacade uses the command and abstractfactorypatterns to provide a simplified database api that hides many of the details...
constructor arguments. Thus, constructors can raise exceptions. The abstractfactorypattern is a way to decouple a particular implementation of an object from...
copied by other companies. The "onion" pattern was originally named the "bulb" pattern. The Blue Onion pattern was designed by Johann Gregor Herold in...
description language Factorypattern Inversion of control Plug-in (computing) Strategy pattern AngularJS Service locator pattern Parameter (computer programming)...
designs. Abstract and cubist patterns appeared on these shapes, such as the 1929 Ravel (seen on Cliff's Conical shape ware), which was an abstract leaf and...
Act and shown to the inspector on demand. An abstract of the amended Act must be hung up in the factory so as to be easily read, and show (amongst other...
encapsulation, and underlies the dispose pattern. Resources are typically represented by handles (abstract references), concretely usually integers,...
same time, Bailey began designing a series of cottage and trees and abstractpatterns based on the pottery of Clarice Cliff. These were produced by the...
These trends are held across all four studies and for both complex and abstract questions. However, one UK-based researcher failed to find any difference...
Talisman (1962). In 1963, she created the popular design Totem, an abstractpattern based on primitive forms coupled with a cylindrical shape. She later...
in the Asante dialect of the Akan language, referencing its basket-like pattern. In Ghana, the Akan ethnic group also refers to kente as nwentoma, meaning...
Christian Marclay; The Vinyl Factory, White Cube, 2015) The Solar System (The Vinyl Factory, 2015) code name: A to Z (The Vinyl Factory, 2017) music for percussion...