JavaScript: implementare il design pattern Singleton
In JavaScript esistono diversi modi per implementare il Singleton pattern. Di seguito ne riportiamo due.
In JavaScript esistono diversi modi per implementare il Singleton pattern. Di seguito ne riportiamo due.
Funzione che restituisce un oggetto
'use strict';
const Singleton = function() {
const privateMember = 'privato';
const showPrivate = () => {
console.log(privateMember);
};
return {
publicMethod() {
showPrivate();
},
publicMember: 'pubblico'
};
};
Esempio d'uso:
Singleton().publicMethod(); // 'privato'
Funzione che restituisce un'istanza privata
'use strict';
const Singleton = (function() {
let instance = null;
const init = function() {
return {
publicMethod() {
console.log('Hello World');
},
publicProperty: 'test'
};
};
return {
getInstance() {
if (!instance) {
instance = init();
}
return instance;
}
};
})();
Esempio d'uso:
Singleton.getInstance().publicMethod(); // 'Hello World'
Commenti