DIコンテナとは何か調べてみました。 サンプルはSwiftで書かれています。 DIとは DIとはDependency injectionの略で、デザインパターンの一種です。 日本語では言うと依存性の注入などと呼ばれる事が多いです。 このデザインパターンは複数の関連するオブジェクトの結合を疎にする為のものです。 例えば以下のようにOwnerはDogクラスに紐付いているとします。 もしこのコードで、OwnerにDogのサブクラスを渡したいと言われたりDogのプロパティーを変更したいと言われると都度Ownerを変更する必要があります。 そうなるとOwnerが多くの場所で使われている場合にテストが大変ですし、柔軟性にも欠けます。 class Owner { func exec() { Dog().howl() } } class Dog { func howl() { print("wan!")