Пишу под TypeScript.
Как лучше всего хранить настройки, общие для нескольких компонентов?
Если точнее, то
пока компонентов 5, потом, возможно, их будет больше.
Большинство настроек только read-only, однако есть и перезаписываемые.
На данный момент настройки вынесены в отдельный компонент-класс Settings, настройки сгруппированы по смыслу в объекты и являются приватными свойствами этого класса, доступ через метод getSetting(settingName). Таких свойств в итоге получается в районе 10-15.
Каждая из настроек может использоваться в нескольких компонентах.
В компоненте, где эти настройки (класс Settings) используются, они передаются аргументом конструктора, как зависимость (ioc), и назначаются аналогичным по имени настройки свойствам этого класса. Ну и затем уже обращаемся к настройкам через this.
constructor (settings) {
this._settingNameA = settings.getSetting('settingNameA');
this._settingNameB = settings.getSetting('settingNameB');
}
Соответственно, что мне не нравится: выделение под настройки свойств класса-компонента, где эти настройки используются. Если этого не делать, а выделить под настройки только 1 свойство - settings (this._settings), то придется в куче мест писать что то типа
let value = this._settings.getSetting('settingNameC').blablabla + this._settings.getSetting('settingNameD');
В общем, как правильнее это сделать?