2016-07-06 5 views
0

私たちはAureliaをピックアップしました。まず、それは素晴らしいです。これまで使っていたことが大好きです。それは私が好きな、非常にモジュラーなようです。しかし、私は彼らがDIを使う理由について考えなければなりません。 DIを使用する利点は何ですか?シングルトンの使用を簡単にするようだが、それ以外の理由はあるのだろうか?テストの助け以外に依存性注入を使用する他の理由はありますか?

私は理解して(と私は間違っている可能性が)何から、代わりにこれを行う:あなたがこれを行う

myObj = new myObj(); 

:だから

@autoInject 
export class myClass { 
    constructor(myObj) { 
      this.variable = myObj; 
    } 
} 

を、私は本当に見つけることができないよう人々が一般的にDIを使用する理由に利点があります。私が知らない他の理由はありますか?

+0

http://programmers.stackexchange.com/questions/19203/what-are-the-benefits-of-using-dependency-injection-and-ioc-containersも参照してください。問題は現在の状態では「広すぎる」カテゴリに分類され、それに対する良い答えはありません。理由は「建築上の利点」ですが、これはあまり説明しません。これは特にAureliaには当てはまりませんが、DI/IoCを行う他のフレームワークには当てはまりません。 – estus

答えて

0

コメントに記載されているとおり、これは本当に広い質問です。しかし、ジェレミーDanyowによって提供されるいくつかの良い答えがあります: - 制御の反転 - DIは、コントロールを反転させる仕組みであるハイレベルで

https://www.danyow.net/inversion-of-control-with-aurelia-part-1/ https://www.danyow.net/inversion-of-control-with-aurelia-part-2/

は、オーレリアはIoCのパラダイムを包含する。 IoCは、フレームワークまたはライブラリを使用するカスタムコードではなく、カスタムコードをフレームワークまたはライブラリが制御するパターンです。詳しくは記事を読んでください。希望が役立ちます。

関連する問題