[Java] 30 November 2006 はてなブックマーク - やばいClick進化してる・・・ Twitterでつぶやく

やばいClick進化してる・・・

しばらく放っておいたら1.0では大きく利便性が向上している。
0.xではいろいろと補完するためにツールが必要だったけど、かなりフルスタックでいけそう。
#っていうかこの前1.1出てるんだけどねw進化早いっす

いまのところ気持ちよいのは(いや表の派手なコントロールではなくて、地味なところに着目しちゃってるのですが・・・)
・Page#onRenderの導入
→ これはある意味で妥当な進化かも、以前からレンダリングプロセスを行うとき無駄に自由度高くてコードが荒れやすかったし(コードスタイル統一の観点と、オフショア的観点から)

・ClickControlの自動的なaddControlとaddModel
いままでは(古っ!)PageのaddControl,addModelをしないとダメだったが、1.x弄ってて気づいたのがいつのまにか追加されている。
おかしい・・・どこかで自動追加してやがる!と思って、良く見てみると下記のようにClickServlet#processPageFieldsでやってる。パブリックフィールドで捜し出してコールバックに渡して、コールバック内部ではinstanceofでControlとそれ以外を判定して追加してる。
→ これはよりいっそうC/S系クライアントに近付いたので非常に使いやすいと思う

protected void processPageFields(
Page page, FieldCallback callback) {
Field[] fields = page.getClass().getFields();
for (int i = 0; i < fields.length; i++) {
Field field = fields[i];
try {
Object fieldValue = field.get(page);
if (fieldValue != null) {
callback.processField(
field.getName(), fieldValue);
}
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}

っていうかこういうインタフェースの使いかたって素敵で大好きw
あと、このコード見て思ったのが、やっぱり最近はアプリケーション層では例外にRuntimeExceptionを利用する流れが普通になってきたなあ、C#とかデフォでランタイムだしなあ

今回作ってる業務系WEBでは、いわゆる慣習化した確認画面を排除して工数を下げてみようと思ってる。機は熟した感じ、可能ならスケルトン自動生成でやりたいなあ

#業務連絡:
オナシスさん、忙しくて返事できてませんホントごめんなさい
m(_ _)m


Comments

No comments yet

Add Comment

このアイテムは閲覧専用です。コメントの投稿、投票はできません。