- 910 名前:nobodyさん mailto:sage [2007/12/05(水) 20:13:07 ID:???]
- >>907じゃないけど、
DIコンテナなしでも実現できるから DIコンテナいらないってのはなんかちょっと違うと思う Javaは機能毎にコンポーネントを細かく切りまくって ひとつひとつは小さい機能でたくさんのクラスを用意する傾向がある (PHPをはじめとするスクリプト言語と比較してという意味で) でそのたくさんのクラスをできるだけ疎結合にするために ConstructorInjectionなりSetterInjectionなりで 外部からインスタンスを注入するようする、 それがDependency Injection(であってるよな、、) そうした際に、ある機能(モジュール)を使いたいと思ったときにも 上に書いたようにクラスが細かく分かれているから 様々なインスタンスを注入しなければならなくなる、 AというモジュールはBの注入が必要でBはCとDが、DはEが・・・ とインスタンス間の依存性が複雑になっていった時に、 いちいちその注入のためのコードを毎回書き直して コンパイルし直すような手間を減らすのが DIコンテナの役割だと思うんだけど >>907もおそらくこういうニュアンスだったと思うんだが 俺も別にスクリプト言語でDIコンテナとかいらないと思う スクリプト言語だと比較的(Javaと比べて)多機能の大きなクラスを作るし コンテナで管理しないと困るなあと思うほど インスタンス間の依存関係が複雑になるケースがそんなにないから そういう意味でPHPにDIコンテナは要らんってのは分かるけど DIコンテナという仕組み自体が要らんとかだめだとか それはまたちょっと違う問題じゃないのという気はする
|

|