古川 烈
r_f_315****@hotma*****
2008年 9月 9日 (火) 12:45:04 JST
古川です Fragmentを継承したくなった状況というのは下記の状況です。 ある<table>を考えた場合、ヘッダー部分に列の内容を表す<th>が来てデータ部分は<td>になりますよね? <th>と<td>をパネル化し、<td>に対して列単位での操作をするため<th>がリストで<td>を保持するようにしました。 さらに、デザイナー的な視点で見ると、元のマークアップファイルは<th>と<td>が同時に見えてデザインした方がやりやすいように思いました。 このとき、<th>の視点でみると自分が管理すべき<td>の型は知っていて当然なわけで、<th>が<td>の生成などのマネージメント機能を 保持していてもおかしくないと思うのです。 後は取り扱うデータの種類の増加にしたがって<th>と<td>のマークアップファイルとソースが増えるのを嫌ったというのもあります。 そこで<th>に<td>をFragmentとして持たせました。 その後、<th>も<td>もSwingにあるような列の入れ替えなどの様々な共通機能を持たせたいと思い <BaseTH>,<BaseTD>のようなAbstractな親クラスで表現しようとしました。 「しかし<ChildTD>において<BaseTD>のマークアップファイルが使用されてしまう!!」 という今回の問題が発生した。 Table側に管理機能を持たせれば全て解決だったのかもしれません。。。 個人的に、あるオブジェクトの管理機能をそれを統括するするクラスに書くより、 そのクラスそのものに再起処理的なコードで書く癖がありまして、 例えば上記の列入れ替えなら よくナビゲーションに使われる >> とかの場合 >>が押されたら自分の隣を見てまだ参照がnullでなければ 横移動 > ∞ というような。 以上です。 > Date: Tue, 9 Sep 2008 12:06:37 +0900 > From: benbr****@mac***** > To: wicke****@lists***** > Subject: [Wicket-ja-user 220] Re: Fragmentと継承について > > この件返事し忘れてました。。。 > > 技術的なところはすでにコメントが入っているので、考え方的なところで書いてみます。 > > マークアップ継承は、マークアップファイルと対になってるタイプのコンテナ(Page, Panel)で、クラスの継承に併せてマークアップファイルも継承する機能ですよね。 > > ところが、Fragmentは対になるマークアップファイルを持ってません。Fragmentは他のコンテナに寄生して動くもので、コンストラクタで寄生する先のコンテナを指定するようになってますよね。寄生した先のマークアップファイルに<fragment>タグがあることを期待してます。 > > そういう存在のFragmentクラスを継承しても、どのマークアップファイルを継承してよいのか特定できない(そもそも対になるマークアップファイルを持っていない)ので、Fragmentを継承してもマークアップ継承が働かないのは、それはそれで正しいように思いました。 > > > Fragmentを継承したくなるようなケースでは、Panelの継承でいけるような気がするのですがどうでしょうか。 > PanelではなくFragmentを継承したいというケースを教えていただければ、いろいろアイデアもあるかもしれません。 > > > --------------------- > 矢野 勉(やの つとむ) > benbr****@mac***** > > > 08/09/09 (火曜日) 09:55AM、 "古川 烈" <r_f_315****@hotma*****>のメッセージ: > >古川です、 > >返答が遅くなり申し訳ございません。 > >(最近仕事がとても。。。orz) > > > > > >ありがとうございました。 > > > >大変勉強になりました。 > > > > > > > >なるほど、そういうことだったんですね。 > >内容から考えるとFragmentはそもそもそういう使い方を想定していないのでしょうね。 > >(つまりFragmentを継承したくなるような状況には他の解決策がある?) > > > >最良の方法で自分がフレームを利用できていたら良いのですが、 > >最近ますます自信が無くなってきました;; > > > > _______________________________________________ > Wicket-ja-user mailing list > Wicke****@lists***** > http://lists.sourceforge.jp/mailman/listinfo/wicket-ja-user _________________________________________________________________ 秋本番!連休たくさんのこの秋、みんなのオススメ週末旅行をチェックしよう http://clk.atdmt.com/GBL/go/112813570/direct/01/ -------------- next part -------------- HTMLの添付ファイルを保管しました...다운로드