3

私はAngularJSを使い始めており、依存性注入について頭を悩ませようとしています。具体的には、DI と RequireJS による依存関係の宣言の違いを理解しようとしています。

Angular の DI は、いくつかの angular.module で定義されている「オブジェクト」(ファクトリ、サービス、モデル) に対してのみ機能しますか? たとえば、DI を使用する jQuery などの外部ライブラリに依存できますか?

一般に、RequireJS の依存関係管理と Angular の DI の違いは次のように言えます。

RequireJS は、最初に必要になったときにのみ依存関係の読み込みを処理し (遅延読み込み)、実行前にすべての依存関係が存在することを確認しますが、Angular DI では、インターフェイスが同じままである限り、実行時に依存関係を簡単に変更できますか?

最後に、DI は常に依存関係のインスタンスを通過しますか? 毎回新しいインスタンスですか、それともシングルトンですか? 自分でインスタンス化できる「クラス」定義を渡すことはできますか? たとえば、オプションをコンストラクターに渡す必要がある場合はどうすればよいでしょうか?

4

1 に答える 1