How to implement Singleton in Node.js
Male avatar

loveprogramming viết ngày 04/04/2021

How to implement Singleton in Node.js

Singleton is object that can have only a single, unique instance, with a single point of access. Node.js module system provides simple way to implement Singleton using module.exports. Module will be cached when it is accessed using require() statement. So our module is merely a cached instance although it behaves like a Singleton.

In this tutorial, we're gonna look at ways to implement this kind of Singleton in Node.js:

  • Singleton Object
  • Singleton Class

Node.js Singleton Object example

We will create a Bank object, it has 3 methods:

  • deposit() increases cash.
  • withdraw() decreases cash.
  • total() returns cash.


let cash = 0;

const Bank = {
    deposit(amount) {
        cash += amount;
        return cash;
    withdraw(amount) {
        if (amount 

Bank object behaves like a Singleton because we will use module.exports and require() statement (not use new keyword).


const fund = require('./Bank');
const atm1 = require('./Bank');
const atm2 = require('./Bank');



console.log(`total-atm1: ${}`)
console.log(`total-atm2: ${}`)

console.log(`total-fund: ${}`)

As you can see, we create 3 Banks (fund, atm1, atm2), every Bank object can deposit or withdraw money. But all of the action work with only one the cash insides Bank.

Here is the result (run with node app.js command):

total-atm1: 9900
total-atm2: 9900
total-fund after funding 2000: 11900

More at:

Bình luận

{{ }}
Bỏ hay Hay
Male avatar
{{ comment_error }}

Hiển thị thử

Chỉnh sửa

Male avatar


187 bài viết.
63 người follow
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
Male avatar
1 0
Tutorial Link: (Link) (Ảnh) Django is a Pythonbased free and opensource web framework that follows the modeltemplateview architectural pattern. A...
loveprogramming viết 5 tháng trước
1 0
Male avatar
1 0 Angular 11 Node.js PostgreSQL Crud Example (Ảnh) Tutorial: “Angular 11 Node.js Postg...
loveprogramming viết 4 tháng trước
1 0
Male avatar
1 0
Angular Spring Boot jwt Authentication Example Github (Ảnh) Tutorial: ” Angular Spring Boot jwt Authe...
loveprogramming viết 4 tháng trước
1 0


{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}

Male avatar
{{userFollowed ? 'Following' : 'Follow'}}
187 bài viết.
63 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!