1. Module Pattern: This design pattern is used to separate a piece of code into reusable modules. Each module can be created in its own .js file and can be exported for use in a different module.
1. Middleware Pattern: This pattern is most commonly used in Express.js, which is a web application framework for Node.js. The Middleware pattern involves taking a request and passing it through multiple middleware functions to process the request, such as authentication, logging, etc.
1. Observer Pattern: This is used when an object, known as the subject, maintains a list of observers and notifies them automatically of any changes to its state.
1. Singleton Pattern: It restricts instantiation of a class to a single object. It’s usually used for resources like database connections, loggers, etc.
1. Factory Pattern: It’s a class-based creational pattern designed to create objects without exposing the underlying logic.
1. Builder Pattern: It is used to construct a complex object step by step and the final step will return the object.
1. Prototype Pattern: It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects.
1. Revealing Module Pattern: It’s an improvement of the module pattern, where the private and public methods and variables are defined and controlled in a more restrictive way.
1. Adapter Pattern: It allows for existing classes to be used as they are so that they can function with other classes seamlessly.
1. Decorator Pattern: It is a design pattern that allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class.
1. Publish/Subscribe Pattern: This pattern is a messaging pattern in which senders of messages, known as publishers, do not program the messages to be sent directly to specific receivers, known as subscribers.