https://github.com/Swinject/Swinject 一般的なDIコンテナの話がしたいのですが、何か具体的な例があったほうがよいと思い、上記のDIコンテナを例に書きます。 READMEにある通り、下記で I'm playing with Mimi. と出力できます。 protocol Animal { var name: String? { get } } class Cat: Animal { let name: String? init(name: String?) { self.name = name } } protocol Person { func play() } class PetOwner: Person { let pet: Animal init(pet: Animal) { self.pet = pet } func play() { let n
![一般的にDIコンテナは複数インスタンスには使用しない?](https://cdn-ak-scissors.b.st-hatena.com/image/square/f6bc393cd0b6bd2196935e603c5d031bd6ca6699/height=288;version=1;width=512/https%3A%2F%2Fcdn.sstatic.net%2FSites%2Fja%2FImg%2Fapple-touch-icon%402.png%3Fv%3D1cfb10b305ca)