kanizaのブログ

コンピュータ、ソフトウェア、映画、音楽関連や家族のことなど、思いついたことを書きます。

Swinject の解説ビデオ

youtu.be


Swinject の解説ビデオを見つけた。Swinject は Swift 用の DI フレームワークで、仕事の開発でも使っている。このビデオのポイントはSecondVC に ColorProvider をアプリ側ロジックとして明示的に渡さずにDIコンテナ内で解決している点と言える。

純化のためやむをえないのだろうが、改善したほうが良さそうな点はある。特にViewController(VC)はコンテナに直接アクセス(resolve)しない方がよい。SVCFactory的なクラスを作った上でコンテナからVCにinjectして呼び出すべきだろう。アプリ本体のコードではコンテナに直接アクセスするのを避ける。

仕事の開発では SwinjectStoryboard や SwinjectAutoregistration も使っている。SwinjectAutoregistration の autoregister を使えば、このビデオにある2つめの container.register() のように SVC のイニシャライザを直接呼び出す必要はないなど、もっと簡略化できるし、疎結合にもできる。

などなど、当然ながらこのビデオでは見えない良さはまだまだあるんだよね。Swinject についてのビデオを検索してみたら他にもけっこうある模様。Swinject や DI の話題が出るのはうれしい!