DIコンテナ
DIコンテナ。1サーバー上にサーブレットたくさんのっけて、サーブレット間で同じインスタンス使い回しとかそういう時代に要請されできたメモリ節約&ライフサイクル管理の仕組みで、今の1サーバーごとにコンテナ入れ替えとかの時代には不要という説明が一番腹落ちした。
状況によって別の実装に差し替えられるよ、という宣伝文句はXML設定とかが廃れていった結果、インタフェースと実装は1:1というのが今時の使われ方で、今では絵に書いた餅と。そして、実装を探すコストを起動時におしやっているのでクラウドとの相性も良くないと
あとは、DIコンテナの実装コードへの侵襲性が高すぎて、一度使うと抜けられないと。他のフレームワークの切り替えも難しくなる。そして使っているうちに「DIコンテナがあるのが当たり前」と認知が逆転してしまう。
依存の注入はコンストラクタでやろう
↓
依存と生成知識がシステム中に散らばる
↓
生成知識をファクトリーで隠蔽しよう
↓
今度はファクトリーがシステム中に散らばる
↓
ファクトリーはシステム中にDIコンテナひとつでよくね?
↓
DIコンテナが依存と生成知識を一括管理し、秩序と調和が訪れる(完)