Drawbacks of the Singleton pattern

While Singletons are used in multiple places to good effect, there can be a few gotchas with this pattern. As Singletons have a global point of access, the following issues can occur:

  • Global variables can be changed by mistake at one place and, as the developer may think that they have remained unchanged, the variables get used elsewhere in the application.
  • Multiple references may get created to the same object. As Singleton creates only one object, multiple references can get created at this point to the same object.
  • All classes that are dependent on global variables get tightly coupled as a change to the global data by one class can inadvertently impact the other class.

Note

As part of this chapter, you learned ...

Get Python: Master the Art of Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.