Encapsulation is one of the most useful features in an OO program language such as Java and C++. We can encapsulate platform dependencies such as window system, operating system, database, etc. Since there is no such method at programming language level, people invent the Factory Pattern (or Abstract Factory Pattern) to create related objects without directly specifying the concrete classes. From my understanding, factory pattern is a collection of methods to create related objects.
Description
##Intent
##UML