The Monostate Singleton pattern
We discussed the Gang of Four and their book in Chapter 1, Introduction to Design Patterns. GoF's Singleton design pattern says that there should be one and only one object of a class. However, as per Alex Martelli, typically what a programmer needs is to have instances sharing the same state. He suggests that developers should be bothered about the state and behavior rather than the identity. As the concept is based on all objects sharing the same state, it is also known as the Monostate pattern.
The Monostate pattern can be achieved in a very simple way in Python. In the following code, we assign the __dict__
variable (a special variable of Python) with the __shared_state
class variable. Python uses __dict__
to store the state of every object of a class. In the following code, we intentionally assign __shared_state
to all the created instances. So when we create two instances, 'b'
and 'b1'
, we get two different objects unlike Singleton...