[Seasar-user:10899] Re: [Teeda]InterTypeとInterceptorの仕様

Koichi Kobayashi [E-MAIL ADDRESS DELETED]
2007年 10月 6日 (土) 15:00:02 JST


小林 (koichik) です.

Date:    Sat, 06 Oct 2007 03:24:09 +0900
From:    "TAKEUCHI Shinichi / 竹内 伸一" <[E-MAIL ADDRESS DELETED]>
To:      [E-MAIL ADDRESS DELETED]
Subject: [Seasar-user:10897] Re: [Teeda]InterTypeとInterceptorの仕様

>   回答ありがとうございます。すべてのページクラスにダミーで
> getLayout() をInterTypeしておいて、そこにInterceptorをかける
> ことで、複数レイアウトの自動選択をさせようと考えていたのですが、
> すでに当該メソッドがあればInterceptor、なければInterTypeと
> 場合わけして実装しないとだめみたいですね。

難しくやろうとしすぎているのでは?
Page クラスの抽象クラスを作ればそこの getLayout() で
間に合うのではないでしょうか?

その InterType は本当にクラスの構造を変更して
行う必要があるものなのか,その Interceptor は本当に
cross-cutting concern なのか,考え直した方がいいのでは
ないかと思います.

> てっきりInterTypeで
> 拡張したクラス定義が作成され、Interceptorは、そのEnhanced
> クラスを元にしてそこから再度拡張するのだと思っていたのですが、
> ちがうのですね。

二段階で拡張するようなことはしていません.

>   ところで、TeedaなどのJSF実装は、PageClassに対してUI系の
> フィールドや、JSFライフサイクル関連のメソッドをInterType
> して実現していると思っていたのですが、別の方法でやって
> いるのでしょうか?

Page クラスにフィールドやメソッドを追加することは
していません.
JSF 的には UI コンポーネントツリーというものがあり,
ライフサイクルを持っているのはこちらです.


-- 
<component name="koichik">
    <property name="fullName">"Koichi Kobayashi"</property>
    <property name="email">"[E-MAIL ADDRESS DELETED]"</property>
    <property name="blog">"http://d.hatena.ne.jp/koichik"</property>
</component>




Seasar-user メーリングリストの案内