CSC/ECE 517 Fall 2010/ch3 3f lj: Difference between revisions
No edit summary |
No edit summary |
||
Line 5: | Line 5: | ||
=Implementation= | =Implementation= | ||
When this pattern is implemented then it must only have one instantiation of a class and that class must satisfy the global access principles. The pattern requires a mechanism to access the singleton class without instantiating another class object and a mechanism to persist the value of class members among class objects. This mechanism is | When this pattern is implemented then it must only have one instantiation of a class and that class must satisfy the global access principles. The pattern requires a mechanism to access the singleton class without instantiating another class object and a mechanism to persist the value of class members among class objects. This mechanism is implemented by creating a class with a method that creates a new instance of the class if that class does not already have an existing instantiation. | ||
==In Dynamic languages== | ==In Dynamic languages== |
Revision as of 04:06, 6 October 2010
Singleton Pattern in Static and Dynamic languages
Singleton pattern
A singleton pattern is a design pattern that restricts the amount of instantiations of a class to one object. This pattern is implemented when exactly one object is needed to coordinate actions across the entire system. The restriction of only having one object can sometimes make the system more efficient and allow the programmer to exercise more control over certain actions in the system. A singleton must satisfy some global access principles, which say all of the classes must be able to access the functionality contained in the singleton class/es.
Implementation
When this pattern is implemented then it must only have one instantiation of a class and that class must satisfy the global access principles. The pattern requires a mechanism to access the singleton class without instantiating another class object and a mechanism to persist the value of class members among class objects. This mechanism is implemented by creating a class with a method that creates a new instance of the class if that class does not already have an existing instantiation.