DEV Community

Cover image for Singleton Design Pattern in Typescript
Hackertab.dev 🖥️
Hackertab.dev 🖥️

Posted on • Originally published at blog.hackertab.dev

Singleton Design Pattern in Typescript

The singleton design pattern is a software design pattern that ensures that a class has only one instance and provides a global point of access to it. This is useful in situations where you need to ensure that a resource is shared among all the users of a system, or when you need to keep track of the global state for example ensuring that there is only one database connection in your application.

Here's an example of how to implement the singleton design pattern in TypeScript using a database connection class:

class DatabaseConnection {
  private static instance: DatabaseConnection;

  private constructor() {}

  static getInstance(): DatabaseConnection {
    if (!DatabaseConnection.instance) {
      DatabaseConnection.instance = new DatabaseConnection();
    }
    return DatabaseConnection.instance;
  }
}
Enter fullscreen mode Exit fullscreen mode

To use the singleton, you can call the getInstance method and store the returned instance in a variable. You can then use this variable to access the methods and properties of the singleton.

const connection = DatabaseConnection.getInstance();
connection.runQuery('SELECT * FROM users');
Enter fullscreen mode Exit fullscreen mode

The singleton design pattern can be useful in a variety of situations, such as creating a database connection, managing global configuration, logging messages, or caching data. By using the singleton design pattern, you can ensure that your application is efficient, maintainable, and easy to use.


Get the latest in tech with HackerTab! Our browser extension helps you stay up-to-date with the latest development news, tools, and events. Try it out today!

Top comments (0)