loading...

Factory Design pattern [Creational]

itscoderslife profile image Damodar Shenoy Originally published at itscoderslife.wordpress.com on ・1 min read

The factory method pattern allows callers to create instances of objects by only knowing the protocol or the top level base class and not the exact implementation classes.

  • Callers will never know any details about the implementation classes.
  • The factory method incorporates the logic required to decide which implementation class to instantiate based on the criteria supplied by the caller.
  • Callers must not know all the implementation classes, just the protocol or the base class.
  • Depending components must only know about the protocol or the base class and the class exposing the factory method.
  • This pattern allows changing the existing implementation classes or adding new ones without exposing these details to the components that rely on them.
  • Factory Method: creation through inheritance. Prototype: creation through delegation.

The factory method selects the implementation class to instantiate based on the criteria supplied by the caller. The caller must know only a single type.

Example: Color Palette – User needs to mention the name of the palette and all colors with respect to that set will be populated and ready.

Color Palette – User needs to mention the name of the palette and all colors with respect to that set will be populated and ready.

Summary : The factory method pattern is a good choice if we want to prevent exposing all implementation classes to our callers.

_Note that the factory method design pattern cannot be applied when there is no common protocol or shared base class. _

Posted on by:

itscoderslife profile

Damodar Shenoy

@itscoderslife

Mobile App Developer. Working as iOS developer with Obj-C / Swift. Learning Android development. Full-stack enthusiast. All things tech. Exploring Machine Learning.

Discussion

markdown guide