[Wicket-ja-user 346] Re: Converterに関して質問です。

Back to archive index

Tsutomu Yano t_yano****@me*****
2009年 6月 28日 (日) 03:46:03 JST


矢野です。

なるほどオペレータさんってキーでの操作がめちゃくちゃ速いですからね...

で自分の作ったクラスとかをざっと見てみたのですが、どうも私の場合は、

・ユーザからの入力変換を伴う場合は覚えてる限り間違いなくConverterを使う。
・Converterを使う場合にはほぼ必ずコンポーネントも作る
 (全アプリで共通の変換であれば、Applicationで設定しますが)

 どうも、入力値の変換はIConverterの仕事だろう常識的に考えて、というのが私のなかに
あるようです。。。


・Labelでは横着することがあって、匿名クラスでさくっと終わるような話の場合は、
 AbstractReadOnlyModelの匿名サブクラスを作ってすませてしまう。
・結局Labelでも、例えばTimestampを2009/06/26 10:00:00で表示するラベル、
 みたいなのは、IConverter実装を作ってますね。

 というところです。


 Labelの場合は「とってくる」って動作だけで済むので、AbstractReadOnlyModelで
済ませてしまうことも結構あります。
 というのは、Labelを匿名サブクラス化する方法だと、さらにそのあと、IConverterの
匿名サブクラスもつくらなくちゃいけなくなって、なんだか変な感じがするから...です
かねえ。そこまでやるなら、ちゃんと別ファイルでサブクラス作るわい、みたいな。


 なので、何度も使うようなものについては、やっぱりLabelのサブクラスを作ってました。
一回だけサクっと書きたい、というときにAbstractReadOnlyModelでやっちゃってるって
ところのようです、自分のコードみたかぎりでは。


 ただ、Wicketの考え方的には

・値の変換→IConverter
・変換後の値をどこかに格納/値をどこかから取り出す→Model

なので、やはりIConverterを使うのがふさわしいように思いました。


というわけなので、

>
> 矢野様としては、使い分けを
>
>     LabelならAbstractReadOnlyを使う
>    入力が存在するならIConverterを使う
>
> で、統一しているということですか?


 統一している訳じゃなく、Labelはけっこうグダグダな使い方をしている、
「入力が存在するならIConverterを使う」という点はわりと徹底している、という感じでした。


 それでは。



On 2009/06/27, at 12:26, 古川 烈 wrote:

> 古川です、
> アドバイスありがとうございます。
>
> 正に下記で示された状態です。
> >それはTextFieldではなくてLabelのような気がしたんですよね。
>
> ここも迷いのある部分で、
>
>     AbstractReadOnlyModel
>     IConverter
>
> どちらを使うべきなのか?という疑問も持っています。
> 自分の中では
>
>     Model    ->  何処からか値を引きずり出すオブジェクト
>     Converter ->  引きずり出された値を表示上の文字列に変換するオブジェクト
>
> なんですが、
> 「true,false」を「はい、いいえ」と表示するとして、
> それがたまたま入力が不可能なLabelであったというだけの話で、
> 本来何かのオブジェクトを表示上の文字列に変換するものはConverterであるべきではないのか?
> と思ってしまうのです。
> (じゃあReadOnlyModelをどこで使う?と聞かれると答えれないですけど。。。)
>
> 矢野様としては、使い分けを
>
>     LabelならAbstractReadOnlyを使う
>    入力が存在するならIConverterを使う
>
> で、統一しているということですか?
>
>
> 日付の例に関しては下記の例の様にしています。
> CRM等のシステムの場合、オペレータの操作が慣れてくると、
> 「テンキーで高速入力したい」要件が出てきて、結局ドロップダウンが煩わしくなってくると思うので。




---------------------------------------------------
矢野 勉(やの つとむ)
電子メール: t_yano****@me*****
---------------------------------------------------




Wicket-ja-user メーリングリストの案内
Back to archive index