Использование Angular 6 и Typescript 2.7. У меня есть класс с конструктором, которому я передаю аргументы, когда создаю экземпляр из контроллера. Этот класс также имеет сервис, который должен быть введен. Но затем контроллер, который создает экземпляр, должен предоставить службу в качестве параметра. Это распространено или есть способ просто внедрить службу в классе, а не конструктор. В других статьях я читал, что конструктор должен использоваться только для внедрения зависимостей.
Итак, у меня есть класс конфигурации, который принимает простые строковые параметры.
export class Configuration{
//public uiService: UiService;
public configName:string;
public configType: ConfigType;
public shape:any;
constructor(_configName: string, _configType: ConfigType){
this.configName = _configName;
this.configType = _configType;
....
Я создаю новый экземпляр этого класса из моего контроллера следующим образом:
let config = new Configuration("NEWconfiguration", configType);
У меня есть общий сервис с служебными функциями, которые мне нужно использовать в классе конфигурации. Читая здесь и другие сайты, я вижу, что это должно быть введено через конструктор. Тогда мой конструктор конфигурации включит новый параметр для службы, а затем контроллер добавит его. Но служба не используется в контроллере, поэтому я не хочу включать ее туда.
Есть ли в классе Configuration способ доступа к службе без использования конструктора? Или это плохая практика. Я думаю, что я мог бы создать экземпляр службы в классе конфигурации или сделать функции в службе stati c, но тогда я не использую внедрение зависимостей. Это имеет значение?