The factory method design pattern
The factory method design pattern exists in order to encapsulate an actual class instantiation. It simply provides an interface to create an object, and then the subclasses of the factory decide which concrete class to instantiate. This design pattern could become useful in cases where we want to create different objects during the runtime of the application. This design pattern is also helpful when object creation would otherwise require extra parameters to be passed by the developer.
Everything will become clearer with an example, and we will provide one in the following subsections.
Class diagram
For the factory methods, we will be showing an example with databases. To keep things simple (just because the actual java.sql.Connection
has a lot of methods), we will define our own SimpleConnection
and it will have concrete implementations for MySQL
and PostgreSQL
.
The diagram for the connection classes looks like the following:
Now, creating these connections...