Factory Method pattern is a widely used design pattern that applications written in all modern programming languages such as Java or C# base their structure and implementation.In brief Factory Method Pattern is a class that creates objects.In general with Factory Method we have an interface or an abstract class which has common state and functionality and that delegates its instantiation to its subclasses.