Прости меня за то, что я не понял этого, если бы это было сказано.
Почему Угловая реализация Инъектора Зависимости использует инъекции через
constructor?
 Я привык видеть DI по-разному. Даже статический метод имел бы смысл (если это существует, извините, я еще не вырыл эту глубину, пока я не на неделю).
Было бы проще или логичнее использовать его таким образом, более похожий на DI, который мы видим чаще, но все же передаем его в конструкторе?:
// Non-Angular Example
@Component({})
class FooComponent {
  public appState: AppState;
  constructor(DI: DependencyInjector) {
    this.appState = DI.get('AppState'); 
  }
  ngOnInit() {}
}
Угловое больше похоже на это, я не уверен, что это только для подробностей или если есть другие причины.
// Angular 2/4 Example 
@Component({})
class BarComponent {
  public appState: AppState;
  constructor(appState: AppState, 
              router: Router,
              etc: EtcSomething) {
  }
  ngOnInit() {}
Я знаю, что Google подумал об этом, я просто пытаюсь понять аргументацию и/или выгоду. Возможно, я проснулся, думая о глупых вещах, и это очевидно и просто перевернуло мне голову, но я пропустил это.
Я надеюсь, что то, что я прошу, имеет смысл, мне просто интересно, почему.
