N2 ToolBox(跡地)

跡地です。引っ越しました。http://d.hatena.ne.jp/nosen

使い勝手改良中

2007-10-25 00:35:36 | LiQ
現在、お仕事のプロジェクトのフレームワークをLiQ Container ベースで作ってるのですが、半年もの間 練り上げた API が実際使ってみると以外に
使いにくい部分もあって、それなりにショックです。

しかし、嘆いていても始まらないので、地道に改良作業を続けています。

その結果、例えば以下のようにModuleの記述を改善することができました。
(改良前)
register(Components.createdBy(
        methodsOf(ObjectMethodModule.class)
            .withAnnotation(FactoryMethod.class), this));

(改良後)
component(created.by(
        methods.of(this)
            .withAnnotation(FactoryMethod.class)));


この改良は見た目以上にインパクトが大きいものです。
なぜなら、改良前のmethodsOfというメソッドは、
実はReflectorというクラスのstaticメソッドをstaticインポート
したものでした。

一番の問題は、
Eclipseがstaticインポートをうまく補完できない(嘘でした。すみません。下のkoichikさんのコメントを参照してください)

ことで、いちいちstaticインポート文を書くのが耐えがたいほどめんどくさい
ものになってしまっていました。

暫く悩んだ後、たどり着いた解決策が改良後のコードです。
同じことがmethodsというstaticフィールドのofメソッドを呼び出すことで
実現されてます。

こういう風にすると、いちいち面倒なimport 文を書かなくてもきれいに
補完がきくようになる、という訳です。

嘘でした。すみません。下のkoichikさんのコメントを参照してください

最新の画像もっと見る

2 コメント

コメント日が  古い順  |   新しい順
static import (koichik)
2007-10-25 04:00:24
Eclipse3.3 なら [Window]-[Preferences] の [Java]-[Editor]-[Content Assist]-[Favorites] で static メソッドを提供するクラスを登録すれば快適に補完してくれますよ.
返信する
Unknown (ikkoan)
2007-10-26 04:17:28
うぉ!ほんとだ!
知りませんでした。情報ありがとうございます。

返信する