iOSアプリ開発における依存性注入(Dependency Injection: DI)は、設計やテストの柔軟性を高める技術として広く使われてきました。その手法は多岐にわたり、Protocolを活用した実装から、SwinjectやResolverなどのDIコンテナ、PropertyWrapperによる注入の工夫、そしてSwift Dependenciesのような最近のフレームワークまで、時代とともに選択肢が広がっています。
中には、型パラメータインジェクションのように、初めて見たときに「こんなやり方があるのか」と驚くようなユニークな手法もありました。それぞれのアプローチには、設計方針や技術的背景、実際の導入シーンに応じた向き・不向きが存在します。
本LTでは、これまでiOSで使われてきたDIの手法を簡潔に紹介しつつ、その変遷を整理します。各手法がどのような課題に対して提案されてきたのか、現在どのように使われているのかを俯瞰することで、これからDIを導入したい方や、既存の設計を見直したい方のヒントになることを目指します。