[seasar-dev:1177] Re: Seasar2.5

Shinsuke Sugaya [E-MAIL ADDRESS DELETED]
2010年 8月 11日 (水) 15:02:05 JST


菅谷です。

> generics や可変長配列など,Java5 以降らしい API を
> 備えた Seasar2 が欲しいという意見があるようです.

私は上記の要望を出している一人かと思うのと、やるなら
参加したいなと考えている者です。コメントが遅くてすいません(^^;

個人的には、互換性はあった方がうれしいとは思いますが
やるなら、

> ・多少の互換性を失ってもいいからちゃんと対応する

がいいかと思います。内部的なところは、パーフォマンス的に
とかで、より良くなりそうであるなら、やったほうが良いと
思いますが、特に変わらなければいじらないで良いと思います。
あとは、2.4 で特に問題があるわけでもないので中途半端に
なるならやらない方が良いかと思います。

よろしくお願いいたします。

shinsuke





2010年8月10日16:00 Koichi Kobayashi <[E-MAIL ADDRESS DELETED]>:
> 小林 (koichik) です.
>
> Date:    Mon, 09 Aug 2010 15:23:09 +0900
> From:    Toshihiro Nakamura <[E-MAIL ADDRESS DELETED]>
> To:      [E-MAIL ADDRESS DELETED]
> Subject: [seasar-dev:1169] Re: Seasar2.5
>
>> > 互換性をどれだけ考慮するかもポイントになりますかね.
>> > API に手を加えるのが前提で互換性重視ってのは辛いと
>> > 思いますが...
>>
>> 互換性重視派です。
>>
>> できれば、関連プロダクトがSeasar2.5専用の
>> バージョンを作らなくても2.4で動いていたものが
>> そのまま動いてくれるとうれしいです。
>
> それはそれで悩ましくて,例えば S2Container の
>
> Object getComponent(Object componentKey)
>
> をバイナリ互換性を保ったまま generics 対応すると,
>
> <T> T getComponent(Object componentKey)
>
> としかできなくて,利用者はキャストこそ不要に
> なるものの,
>
> Foo foo = container.getComponent(Bar.class);
>
> とやってもコンパイルエラーにならないという
> 中途半端な API になってしまいます.
>
> generics 対応するなら,メソッドを二つにして
>
> <T> T getComponent(Class<T> componentClass)
> <T> T getComponent(String componentName)
>
> としたいところです.
>
> これなら上記の例はコンパイラでチェックされますが,
> バイナリ互換性は失われるので (ソース互換性はある),
> getComponent(Object) を呼び出しているプロダクトは
> リコンパイルが必要となります.
>
> そんなわけで (どんなわけで?),互換性を重視すると
> Java5/6 対応が中途半端になる可能性がありますが,
>
> ・中途半端になるならやらない
> ・中途半端でもいいからやる
> ・多少の互換性を失ってもいいからちゃんと対応する
>
> といった選択肢があるかと思います.
>
>
> --
> <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-dev mailing list
> [E-MAIL ADDRESS DELETED]
> https://ml.seasar.org/mailman/listinfo/seasar-dev
>


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