Итог этой архитектуры в том, что модули, в большинстве случаев, практически не зависят от других компонентов приложения. Они могут быть легко тестируемы и легко поддерживаемы в рамках своего кода. Кроме того, благодаря низкому уровню связанности кода, такие модули можно легко скопировать на новую страницу для использования в другом проекте, не прилагая дополнительных усилий. Так же, эти модули могут быть загружены или удалены динамически в процессе работы приложения.

Рекомендуем почитать:
Книги по JavaScript на ЛитРес
Книги по JavaScript на ЛАБИРИНТ

Рекомендуем курс:
Фундаментальный JavaScript. С практикой и проектами