javascriptnode.jsdesign-patternsmultiton

Multiton design pattern in ES6


I want to create Multiton Design Pattern as part of my user module in my node.js application. And I need good examples of it.


Solution

  • Ok I have found answer by myself

    class User {
        constructor(user_id) {
            console.log('constructor');
            this.user_id = user_id;
        }
    }
    
    const map = new Map();
    
    const user_factory = {
        get_user(user_id) {
            let user = map.get(user_id);
            if (user === undefined) {
                user = new User(user_id);
                map.set(user_id, user);
            }
            return user;
        }
    };
    
    module.exports = user_factory;