Example of Use With The Factory Method Pattern
The singleton pattern is often used in conjunction with the factory method pattern to create a system-wide resource whose specific type is not known to the code that uses it. An example of using these two patterns together is the Java Abstract Window Toolkit (AWT).
java.awt.Toolkit is an abstract class that binds the various AWT components to particular native toolkit implementations. The Toolkit class has a Toolkit.getDefaultToolkit factory method that returns the platform-specific subclass of Toolkit. The Toolkit object is a singleton because the AWT needs only a single object to perform the binding and the object is relatively expensive to create. The toolkit methods must be implemented in an object and not as static methods of a class because the specific implementation is not known by the platform-independent components. The name of the specific Toolkit subclass used is specified by the "awt.toolkit" environment property accessed through System.getProperties.
The binding performed by the toolkit allows, for example, the backing implementation of a java.awt.Window to bind to the platform-specific java.awt.peer.WindowPeer implementation. Neither the Window class nor the application using the window needs to be aware of which platform-specific subclass of the peer is used.
Read more about this topic: Singleton Pattern
Famous quotes containing the words factory, method and/or pattern:
“I reverently believe that the Maker who made us all makes everything in New England but the weather. I dont know who makes that, but I think it must be raw apprentices in the weather-clerks factory who experiment and learn how.... In the spring I have counted one hundred and thirty-six different kinds of weather inside of four-and-twenty hours.”
—Mark Twain [Samuel Langhorne Clemens] (18351910)
“You know, I have a method all my own. If youll notice, the coat came first, then the tie, then the shirt. Now, according to Hoyle, after that the pants should be next. Theres where Im different. I go for the shoes next. First the right, then the left. After that, its every man for himself.”
—Robert Riskin (18971955)
“Put out the light, and then put out the light.
If I quench thee, thou flaming minister,
I can again thy former light restore
Should I repent me; but once put out thy light,
Thou cunningst pattern of excelling nature,
I know not where is that Promethean heat
That can thy light relume.”
—William Shakespeare (15641616)