岩本隆史の日記帳(アーカイブ)

はてなダイアリーのサービス終了をうけて移行したものです。更新はしません。

RubyとDIコンテナ

先日の日記のコメント欄に書いたとおり、まつもとさんの書かれた記事「探訪Ruby 第5回 ダイコン」(『Linux magazine』、2005年2月号)が読みたくて、同誌のバックナンバーがぎっしり詰まっている『Linux magazine the DVD Complete』を入手しました。

さっそく当該記事を読んだところ、下記のようにあるではないですか!

DIコンテナの基本部分がわずか20行以下で実装できるのは私にとっても驚きでした。簡単な割にはなかなか有効そうなテクニックなので、次の仕事ではDIを使ってみようかなあって考えてます。

Matzはダイコン派なのか!? そうなのか!? 予想外です。

ま、まあ、2005年時点だからな、今は違うかもな、と思いサクると、下記の記事が見つかりました。

$LOAD_PATHを置き換えてロードするライブラリをすり替えちゃうっていうアイディアは Rubyならではのmock実装法だと思う。下手なDIコンテナを使ってクライアントコードに無理させるより、ずっと自然だよね。

DIコンテナってあまり好きになれないのは、将来のなにか(この場合にはmockへのすり替えの容易さとか、実装の(一時的)変更とか)のためにいまコストを払えという点なのかな。

Matzにっき(2005-10-14)

2005年10月の段階で、すでに嫌ってたのね…orz まあ、個人的に考えていたライブラリのすり替えで問題ないっぽいので、問題ないっぽい。ためになったね〜。