Questions tagged [singleton]

Singleton is a Gang of Four's creational design pattern that ensures that exactly one application-wide instance of a particular class exists. Use this tag for questions about the singleton design pattern. Do not use this tag for questions that include the singleton design pattern but are not about it.

singleton
Filter by
Sorted by
Tagged with
2169 votes
36 answers
644k views

What are drawbacks or disadvantages of singleton pattern? [closed]

The singleton pattern is a fully paid up member of the GoF's patterns book, but it lately seems rather orphaned by the developer world. I still use quite a lot of singletons, especially for factory ...
2059 votes
42 answers
661k views

Difference between static class and singleton pattern?

What real (i.e. practical) difference exists between a static class and a singleton pattern? Both can be invoked without instantiation, both provide only one "Instance" and neither of them is thread-...
Jorge Córdoba's user avatar
1683 votes
42 answers
714k views

What is the best way of implementing singleton in Python

This question is not for the discussion of whether or not the singleton design pattern is desirable, is an anti-pattern, or for any religious wars, but to discuss how this pattern is best implemented ...
theheadofabroom's user avatar
1009 votes
6 answers
192k views

class << self idiom in Ruby

What does class << self do in Ruby?
randombits's user avatar
  • 47.8k
897 votes
24 answers
972k views

How do you implement the Singleton design pattern?

Recently I've bumped into a realization/implementation of the Singleton design pattern for C++. It has looked like this (I have adopted it from the real-life example): // a lot of methods are omitted ...
Artem Barger's user avatar
852 votes
29 answers
337k views

What is an efficient way to implement a singleton pattern in Java? [closed]

What is an efficient way to implement a singleton design pattern in Java?
Riyaz Mohammed Ibrahim's user avatar
608 votes
17 answers
312k views

How to declare global variables in Android?

I am creating an application which requires login. I created the main and the login activity. In the main activity onCreate method I added the following condition: public void onCreate(Bundle ...
Niko Gamulin's user avatar
  • 66.3k
596 votes
30 answers
139k views

Using a dispatch_once singleton model in Swift

I'm trying to work out an appropriate singleton model for usage in Swift. So far, I've been able to get a non-thread safe model working as: class var sharedInstance: TPScopeManager { get { ...
David Berry's user avatar
  • 41.1k
567 votes
24 answers
315k views

On design patterns: When should I use the singleton?

The glorified global variable - becomes a gloried global class. Some say breaking object-oriented design. Give me scenarios, other than the good old logger where it makes sense to use the singleton.
Setori's user avatar
  • 10.4k
536 votes
21 answers
465k views

Is there a simple, elegant way to define singletons? [duplicate]

There seem to be many ways to define singletons in Python. Is there a consensus opinion on Stack Overflow?
Jamie's user avatar
  • 7,765
507 votes
31 answers
296k views

How do you build a Singleton in Dart?

The singleton pattern ensures only one instance of a class is ever created. How do I build this in Dart?
Seth Ladd's user avatar
  • 116k
469 votes
46 answers
354k views

Simplest/cleanest way to implement a singleton in JavaScript

What is the simplest/cleanest way to implement the singleton pattern in JavaScript?
Jakub Arnold's user avatar
  • 86.4k
378 votes
10 answers
143k views

Singletons vs. Application Context in Android?

Recalling this post enumerating several problems of using singletons and having seen several examples of Android applications using singleton pattern, I wonder if it's a good idea to use Singletons ...
Martín Schonaker's user avatar
348 votes
10 answers
99k views

Create singleton using GCD's dispatch_once in Objective-C

If you can target iOS 4.0 or above Using GCD, is it the best way to create singleton in Objective-C (thread safe)? + (instancetype)sharedInstance { static dispatch_once_t once; static id ...
Ryan's user avatar
  • 10.3k
333 votes
26 answers
185k views

What should my Objective-C singleton look like? [closed]

My singleton accessor method is usually some variant of: static MyClass *gInstance = NULL; + (MyClass *)instance { @synchronized(self) { if (gInstance == NULL) gInstance =...
schwa's user avatar
  • 12k
321 votes
24 answers
215k views

Singleton: How should it be used

Edit: From another question I provided an answer that has links to a lot of questions/answers about singletons: More info about singletons here: So I have read the thread Singletons: good design ...
313 votes
2 answers
80k views

Why does Apple recommend to use dispatch_once for implementing the singleton pattern under ARC?

What's the exact reason for using dispatch_once in the shared instance accessor of a singleton under ARC? + (MyClass *)sharedInstance { // Static local predicate must be initialized to 0 ...
Proud Member's user avatar
  • 40.3k
292 votes
5 answers
381k views

How to create module-wide variables in Python? [duplicate]

Is there a way to set up a global variable inside of a module? When I tried to do it the most obvious way as appears below, the Python interpreter said the variable __DBNAME__ did not exist. ... ...
daveslab's user avatar
  • 10.1k
265 votes
11 answers
70k views

Is the C# static constructor thread safe?

In other words, is this Singleton implementation thread safe: public class Singleton { private static Singleton instance; private Singleton() { } static Singleton() { ...
urini's user avatar
  • 32.7k
225 votes
6 answers
157k views

Implementing Singleton with an Enum (in Java)

I have read that it is possible to implement Singleton in Java using an Enum such as: public enum MySingleton { INSTANCE; } But, how does the above work? Specifically, an Object has to be ...
Anand's user avatar
  • 21k
223 votes
2 answers
48k views

Singleton by Jon Skeet clarification

public sealed class Singleton { Singleton() {} public static Singleton Instance { get { return Nested.instance; } } class Nested { ...
amutha's user avatar
  • 2,263
217 votes
26 answers
210k views

How to define Singleton in TypeScript

What is the best and most convenient way to implement a Singleton pattern for a class in TypeScript? (Both with and without lazy initialisation).
maja's user avatar
  • 17.6k
213 votes
22 answers
204k views

Creating the Singleton design pattern in PHP5

How would one create a Singleton class using PHP5 classes?
Andrew Moore's user avatar
  • 94.4k
201 votes
15 answers
207k views

What is a singleton in C#?

What is a Singleton and when should I use it?
Sergio Tapia's user avatar
  • 40.6k
178 votes
10 answers
98k views

How do I implement an Objective-C singleton that is compatible with ARC?

How do I convert (or create) a singleton class that compiles and behaves correctly when using automatic reference counting (ARC) in Xcode 4.2?
cescofry's user avatar
  • 3,706
169 votes
21 answers
164k views

Singleton with Arguments in Java

I was reading the Singleton article on Wikipedia and I came across this example: public class Singleton { // Private constructor prevents instantiation from other classes private Singleton() {...
user avatar
147 votes
10 answers
106k views

Java serialization: readObject() vs. readResolve()

The book Effective Java and other sources provide a pretty good explanation on how and when to use the readObject() method when working with serializable Java classes. The readResolve() method, on the ...
Forage's user avatar
  • 2,806
142 votes
11 answers
44k views

Is there a use-case for singletons with database access in PHP?

I access my MySQL database via PDO. I'm setting up access to the database, and my first attempt was to use the following: The first thing I thought of is global: $db = new PDO('mysql:host=127.0.0.1;...
seriousdev's user avatar
  • 7,566
135 votes
8 answers
134k views

Java Singleton and Synchronization

Please clarify my queries regarding Singleton and Multithreading: What is the best way to implement Singleton in Java, in a multithreaded environment? What happens when multiple threads try to access ...
RickDavis's user avatar
  • 2,286
123 votes
12 answers
56k views

What's Alternative to Singleton

We have a class that holds configuration information for the application. It used to be a singleton. After some architectural review, we were told to remove the singleton. We did see some benefits of ...
John Mill's user avatar
  • 1,233
115 votes
8 answers
53k views

Why use a singleton instead of static methods?

I have never found good answers to these simple questions about helper/utility classes: Why would I create a singleton (stateless) instead of using static methods? Why would an object instance be ...
Sebastien Lorber's user avatar
112 votes
10 answers
118k views

Singleton pattern in nodejs - is it needed?

I recently came across this article on how to write a singleton in Node.js. I know the documentation of require states that: Modules are cached after the first time they are loaded. Multiple calls ...
mkoryak's user avatar
  • 57.5k
112 votes
11 answers
142k views

Singleton design pattern vs Singleton beans in Spring container

As we all know we have beans as singleton by default in Spring container and if we have a web application based on Spring framework then in that case do we really need to implement Singleton design ...
Peeyush's user avatar
  • 1,121
110 votes
11 answers
175k views

Thread Safe C# Singleton Pattern

I have some questions regarding the the singleton pattern as documented here: http://msdn.microsoft.com/en-us/library/ff650316.aspx The following code is an extract from the article: using System; ...
Wayne Phipps's user avatar
  • 2,049
103 votes
7 answers
59k views

Is there an "Empty List" singleton in C#?

In C# I use LINQ and IEnumerable a good bit. And all is well-and-good (or at least mostly so). However, in many cases I find myself that I need an empty IEnumerable<X> as a default. That is, I ...
user avatar
103 votes
5 answers
87k views

ASP.NET Core initialize singleton after configuring DI

So let's say I have a singleton class instance that I register in the DI like this: services.AddSingleton<IFoo, Foo>(); And let's say the Foo class has a number of other dependencies (mostly ...
pbz's user avatar
  • 9,005
99 votes
8 answers
33k views

Why is volatile used in double checked locking

From Head First design patterns book, the singleton pattern with double checked locking has been implemented as below: public class Singleton { private volatile static Singleton instance; ...
toc777's user avatar
  • 2,647
98 votes
3 answers
145k views

Javascript: best Singleton pattern [duplicate]

Possible Duplicate: Simplest/Cleanest way to implement singleton in JavaScript? I'm using this pattern for singletons, in the example the singleton is PlanetEarth: var NAMESPACE = function () { ...
Kaze no Koe's user avatar
  • 3,264
96 votes
13 answers
39k views

How to constrain a table to contain a single row?

I want to store a single row in a configuration table for my application. I would like to enforce that this table can contain only one row. What is the simplest way to enforce the single row ...
Martin's user avatar
  • 9,834
94 votes
16 answers
25k views

Are there any viable alternatives to the GOF Singleton Pattern?

Let's face it. The Singleton Pattern is highly controversial topic with hordes programmers on both sides of the fence. There are those who feel like the Singleton is nothing more then a glorified ...
CodingWithoutComments's user avatar
94 votes
8 answers
28k views

The need for volatile modifier in double checked locking in .NET

Multiple texts say that when implementing double-checked locking in .NET the field you are locking on should have volatile modifier applied. But why exactly? Considering the following example: public ...
Konstantin's user avatar
  • 3,927
93 votes
5 answers
47k views

What exactly is the singleton class in ruby?

Is the singleton class in Ruby a class in and of itself? Is it the reason why all objects belong to "class?" The concept is fuzzy, but I believe it has something to do with why I can define a class ...
keyofnight's user avatar
  • 1,646
93 votes
6 answers
38k views

Why is the Borg pattern better than the Singleton pattern in Python

Why is the Borg pattern better than the Singleton pattern? I ask because I don't see them resulting in anything different. Borg: class Borg: __shared_state = {} # init internal state variables ...
u0b34a0f6ae's user avatar
  • 48.8k
92 votes
0 answers
125k views

Python and the Singleton Pattern [duplicate]

What is the best way to implement the singleton pattern in Python? It seems impossible to declare the constructor private or protected as is normally done with the Singleton pattern...
dmanxiii's user avatar
  • 51.9k
91 votes
8 answers
55k views

Non-Singleton Services in AngularJS

AngularJS clearly states in its documentation that Services are Singletons: AngularJS services are singletons Counterintuitively, module.factory also returns a Singleton instance. Given that there ...
Undistraction's user avatar
89 votes
4 answers
84k views

Singleton with properties in Swift 3

In Apple's Using Swift with Cocoa and Objective-C document (updated for Swift 3) they give the following example of the Singleton pattern: class Singleton { static let sharedInstance: Singleton = ...
RobertJoseph's user avatar
  • 8,068
89 votes
8 answers
52k views

Is it a good practice to have logger as a singleton?

I had a habit to pass logger to constructor, like: public class OrderService : IOrderService { public OrderService(ILogger logger) { } } But that is quite annoying, so I've used it a ...
Giedrius's user avatar
  • 8,510
88 votes
4 answers
78k views

What is the best approach for using an Enum as a singleton in Java?

Building on what has been written in SO question Best Singleton Implementation In Java - namely about using an enum to create a singleton - what are the differences/pros/cons between (constructor ...
Miles D's user avatar
  • 7,980
87 votes
9 answers
104k views

How do you implement a singleton efficiently and thread-safely? [duplicate]

The usual pattern for a singleton class is something like static Foo &getInst() { static Foo *inst = NULL; if(inst == NULL) inst = new Foo(...); return *inst; } However, it's my ...
user168715's user avatar
  • 5,539
82 votes
2 answers
52k views

Using Singleton design pattern for SQLiteDatabase

I'm rather newbie on Android, and I'm working on a simple application to get some basic experience. My app is pretty simple and consists among other things of a broadcast receiver and some activities. ...
Dan's user avatar
  • 1,526

1
2 3 4 5
174