Различия между шаблоном модуля и шаблоном Singleton?

Я видел, что в некоторых проектах Module Pattern используется вместо Singleton Pattern и наоборот.

Я хочу точно знать, что отличается между Module Pattern и Singleton Pattern?

Ответ 1

Схема модуля в javascript относится к модуляции кода для общего механизма. Он отлично работает, чтобы разделить один "класс" на несколько файлов, поскольку вы можете независимо определять конструктор и различные группы методов прототипа. Каждый из модулей обычно обернут внутри замыкания для создания статических локальных переменных - это называется раскрытием шаблона модуля.

Singleton pattern в javascript ссылается на ограничение создания экземпляра, часто используя ленивая инициализация.

Конечно, вы можете рассматривать шаблон модуля как специализацию одноэлементного шаблона (см. статья Википедии), конструктор и его прототип тогда объект будет принимать участие в "одном экземпляре".

Но вы также можете объединить их "самостоятельно": модуль, который определяет класс, который использует одноэлементный подход.