Sto usando il driver java per MongoDB, e la documentazione dice a:Creazione di un riferimento statico contro un Singleton
"è necessario creare una singola istanza di Mongo, e si può usare in ogni richiesta."
L'utilizzo di una singola istanza suona come un singleton.
In altri posti per una libreria diversa ho letto le istruzioni dicendo che dovrei creare un riferimento statico dato che è thread-safe.
Qualcuno può spiegare le differenze tra un singleton e la creazione di un riferimento statico?
Così il codice vero e proprio che ho bisogno di istanziare in modo statico o tramite un Singleton sarebbe:
Mongo m = new Mongo("localhost" , 27017);
qualcuno può spiegare entrambi i metodi e le differenze di fondo se del caso?
Mongo è thread-safe ed è dotato di un pool di connessioni, ho solo bisogno di creare una singola istanza di esso, quindi un'istanza statica è la strada da percorrere? – codecompleting
@codecompleting Sì, da qualche parte nella tua classe principale che si occupa di Mongo dovresti avere 'statico finale privato Mongo mongo = new Mongo (" localhost ", 27017);' e assicurati di non creare un altro Mongo. Se hai un buon design di oggetti, le altre classi non accederanno mai a 'mongo' direttamente; se hai bisogno di altre classi per accedere a 'mongo', potresti fare un metodo' getMongo() 'nella tua classe principale. – toto2