どこかで指摘されていることかもしれないが、私の雑感を。

 

DI(依存性注入)という、オブジェクト指向のちょっと最先端なプログラミング技法がある。

それほど触ったわけではないが、向き/不向きがあるように思う。的はずれかも知れないので信頼度は低いだろう事はお含み置き願いたい。

 

私の理解であるが、

・固定的な処理のあらましの部分

・その処理のあらましに「注入されるオブジェクト」/そのオブジェクトを「注入するオブジェク」の部分

に分かれる。

 

前者は変更の少ない、おおまかな業務の流れを順序と項目だけ挙げておく。

後者の注入する側は状況に応じて適切なオブジェクトを選んで注入する。

 

昔「サンダーバード」というテレビ人形劇があった。サンダーバード2号は状況に応じ腹部のコンテナを入れ替えて

出動するようなイメージ、といえば年配層には分かりやすいだろうか。

状況を判断し、どのコンテナを選択するのかは人間で「注入するオブジェクト」にあたり、選ばれたコンテナは「注入されるオブジェクト」にあたる。固定的な部分ってのは、サンダーバード2号が飛んでいき、コンテナを落とす、という行為にあたるだろう。

 

つまりは、固定的な部分はそうそう変更してはいけないし、そうでない部分はバリエーションがあって固定的な部分を複数のオブジェクトが使い回せるかどうかが、DIに向くか向かないかの判断ポイントではないかと思う。

使い回しをすることがないのにDIで作っても良いのだが、ファイル数が増えるので煩雑でソースコードも読みづらいという結果になりかねないので「向かない」といえるのではないか。

 

素人の雑感で申し訳ないが・・・。