過去の日記

2006-02-27 DIコンテナ,IoCコンテナの真実 [長年日記]

DIコンテナ,IoCコンテナの真実 [tech]

ちょっと前から気にかかってはいたけれど考える暇がない、というかそういう精神状態ではなかったので中途半端なまま。
Dependency Injection や Inversion of Control と呼ばれている概念って、GoF本のFactory Methodパターン*1を拡張したパターンとして記述可能なのではないか? という予感がしている。
GoF本p116の「構造」のUML図で言うと、ConcreteProductとConcreteCreatorとの結びつきは、ConcreteCreatorでオーバライドされたFactryMethod()――つまりCreatorに定義された抽象メソッドFactryMethod()の実装で行われている。
Product-ConcreteProductの関係と、Creator-ConcreteCreatorの関係の間にもう一段、何か(なんと呼べばいいのかが思いつかない)が入ることで、DIコンテナIoCコンテナをパターンとして記述可能なのではないか? という予感。


この2週間精神状態が普通じゃなくてろくな生活をしていなかったので、こんなメモだけ書き残してみる。

*1 「Factory Methodパターン」であって「factory method」ではないことに注意。20060216.html#p3 もしくはGoF本を参照のこと。