I’ve seen that in some projects, Module Pattern uses instead of Singleton Pattern and vice versa.
I want to know exactly, what’s the different between Module Pattern and Singleton Pattern?
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
Module pattern in javascript refers to the modularisation of code for a common mechanism. It works quite well to split one “class” across several files as you can define constructor and various groups of prototype methods independently. Each of the modules is usually wrapped inside a closure to create static, local variables – this is called revealing module pattern.
Singleton pattern in javascript refers to the restriction of instance creations, often using lazy initialisation.
Of course you can consider the module pattern to be a specialisation of the singleton pattern (see the Wikipedia article), the constructor and its prototype object would take the part of the “single instance” then.
Yet you also could combine them “independently”: A module that defines a class which uses the singleton approach.