Volenti o nolenti, il pattern Singleton è molto utilizzato.

Oggi vediamo la sua implementazione in Ruby.

Partiamo dal presupposto che in Kotlin non esiste il concetto di statico.

Quindi è possibile usare il pattern Singleton, ma in maniera un pò differente da Java.

Avremmo sempre il costruttore (primario) privato, e al posto di metodi statici useremo i companion object.

Per creare classi Singleton in Python, abbiamo parecchie alternative.

Non saprei dirvi quale sia la migliore, visto che tra tutte quelle trovate in giro mi sono trovato bene con il codice che vedete più sotto.

E semplicemente perchè è un codice più simile a quello con cui sono abituato in Java o PHP.

(Devo essere sincero: la sintassi Python la digerisco ancora poco).

Personalmente trovo Singleton utile in alcuni casi.

E quindi continuo ad usarlo anche se a molti non piace.

Ne abbiamo visti diversi esempi in vari linguaggi, ed oggi aggiungiamo l'esempio in C++.

Abbiamo tre file:

  • singleton.h
  • singleton.cpp
  • main.cpp

Alcuni lo considerano cattiva programmazione, altri no, altri sono più moderati.

Ma come la metti la metti il pattern Singleton continua ad essere molto utilizzato in tutti i linguaggi.

Abbiamo già visto qualche implementazione, ed oggi aggiungiamo un esempio in Javascript.

Per chi non sa ancora cosa sia Singleton, vi riporto la definizione di Wikipedia:

Il singleton è un design pattern creazionale che ha lo scopo di garantire che di una determinata classe venga creata una e una sola istanza, e di fornire un punto di accesso globale a tale istanza.