This is useful when you want to hide ugly yet necessary code. The Facade acts as a better looking interface to work with, that has encapsulated the ugly code.
Read MoreThis is useful when you only ever want one instance of an object. The singleton wraps the object inside an IFFY
Read MoreThis is useful when you want create an object based on type, while keeping it loosely coupled using abstractions that the factory uses to get the concretes. This means when updates are made to the concretes you only need to updates the abstractions, and every other place that uses the abstraction will be handled by the factory.
Read MoreThis is useful when you want to bundle up like minded methods into an object. The module pattern utilizes private methods that are only accessible from within the object. There is typically no need to have multiple instances of a module.
Read More