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:
“... you can have a couple of seconds to rest in. I mean seconds. You have about two seconds to wait while the blanker is on the felt drawing the moisture out. You can stand and relax those two secondsthree seconds at most. You wish you didnt have to work in a factory. When its all you know what to do, thats what you do.”
—Grace Clements, U.S. factory worker. As quoted in Working, book 5, by Studs Terkel (1973)
“If all feeling for grace and beauty were not extinguished in the mass of mankind at the actual moment, such a method of locomotion as cycling could never have found acceptance; no man or woman with the slightest aesthetic sense could assume the ludicrous position necessary for it.”
—Ouida [Marie Louise De La Ramée] (18391908)
“Every child has an inner timetable for growtha pattern unique to him. . . . Growth is not steady, forward, upward progression. It is instead a switchback trail; three steps forward, two back, one around the bushes, and a few simply standing, before another forward leap.”
—Dorothy Corkville Briggs (20th century)