Ответ 1
Схема модуля в javascript относится к модуляции кода для общего механизма. Он отлично работает, чтобы разделить один "класс" на несколько файлов, поскольку вы можете независимо определять конструктор и различные группы методов прототипа. Каждый из модулей обычно обернут внутри замыкания для создания статических локальных переменных - это называется раскрытием шаблона модуля.
Singleton pattern в javascript ссылается на ограничение создания экземпляра, часто используя ленивая инициализация.
Конечно, вы можете рассматривать шаблон модуля как специализацию одноэлементного шаблона (см. статья Википедии), конструктор и его прототип тогда объект будет принимать участие в "одном экземпляре".
Но вы также можете объединить их "самостоятельно": модуль, который определяет класс, который использует одноэлементный подход.