法政大学であった「Seasar Conference 2007 Autumn」にいってきました。
一発目にSeasar.NET のセッションがあったので見てきました。
セッションの内容は
「Quillによる属性ベースのDI+AOP -Seasar.NET-」
.NET Frameworkならではの発想で
わずらわしいXMLファイルをしこしこ書くことなく
Seasar Frameworkが使えちゃうよ。
うはうはだよって言うないようでした(間違っていたらすみません)
確かにdiconファイルやらapp.configファイルをいじるのは面倒です。
何かと忘れやすく、そして悩みます。
で、セッションを聞いた後、いてもたってもいられず
とりあえずQuill試してました。
セッションで紹介された内容が頭から消える前に
従業員名を出力するFormをQuillで試してみたのですが
これが簡単、超簡単。いやっほぅーって感じです。
S2Container.NETではインターフェイス、実装とそれぞれの依存関係を完全に切り離すことができましたが、その代わり設定のわずらわしさが付きまとっていました。
・diconファイル、アプリケーションコンフィグを書く
・出力先を指定する
とか、忘れやすく・・・。
Quillはインターフェイスと実装が1対1という制約を設けることで、diconファイルを書く必要がなくなりました。その代わり、インターフェイスと実装に依存関係が生まれています。あとインジェクションがフィールドインジェクションしかなく(Diconファイルがないから当たり前ですが・・・)と機能は劣りますが、とにかく使いやすい。あと、コード量が少ないそうです。私でもコードを追えるかも知れません!!!
と、オープンソースばんじゃーぃなメリットもあります。
と、いろいろと楽しいセッションでした。
---
プログラマをはじめて1年(実際には2年、PGとは名ばかりのまったくコーディングをしない時代が1年あったので)実は、こういう会合(?)に出席したのは初めてです。本は結構よんでいると思っています。が、他人から直接聞いて得る知識というのはまた、格別の美酒で、刺激になります。本当、楽しい時間でした。
以上
-----------
追記
WPFにQuillでDI+AOPを試してみました。
ソースコードもついでに公開します。
SeasarのライブラリーはSeasar.NETから入手してください。
ソース:
http://www.art55.jp/blog/20071111/EmployeeManager.zip