Я создаю приложение, которое имеет единственное глобальное пространство имен, например:
var myApp = {};
У меня есть куча различных «модулей» многократного использования, состоящих из моделей, представлений и контроллеров.
//Bar chart module code
org.example.chart.bar.module
org.example.chart.bar.model
org.example.chart.bar.view
org.example.chart.bar.controller
У меня также есть большой одноэлементный источник данных и DataManager для загрузки данных в источник данных:
org.example.data.dataSource
org.example.data.dataManager //populates the dataSource with CSV data
И, наконец, строки перевода и настройки, которые должны быть доступны в приложении:
org.example.static.translations
org.example.static.settings
Как бы вы (ре) организовали это так, чтобы у меня был легкий доступ к синглетонам уровня приложения (таким как dataSource, dataManager, переводы и т. Д.) И можно было легко создавать экземпляры многократно используемых модулей, которые попадают в область действия текущегоЭкземпляр приложения?
(Например, вы уже с самого начала использовали одно и то же пространство имен для своих «классов» и своего приложения? Или, возможно, вы бы делали ссылки следующим образом: myApp.translations = org.example.static.translations?)