[seasar-javadoc:168] Re: InstanceDef
Koichi Kobayashi
koichik @ improvement.jp
2006年 6月 4日 (日) 00:00:07 JST
小林 (koichik) です.
Date: Sat, 3 Jun 2006 17:03:02 +0900
From: "O.Goto" <o-goto @ try-net.or.jp>
To: seasar-javadoc @ ml.seasar.org
Subject: [seasar-javadoc:165] Re: InstanceDef
> @see S2Container#getComponent(Object)は余計?
> もともとの説明に書いてあったのですが今回削ったので@seeにしてみました。
> ちょっと迷ってます。
この場合はなくてもいいような.
> 読点(、) の後ろには (いわゆる) 半角スペースを入れる。
> 句点(。) の後ろでは改行する。
>
> をやったのですが、セーブすると改行したものもつながってしまい、1行がとんでもなく長くなってしまいます。
> どうしたらいいんでしょう。
本当,ものすごい長さですね.(^^;
対策は鈴木 (belltree) さんが書いておられるのが効果あるようですね.
全体として「」で囲むのは控えた方がいいかも?
それより,
> * コンポーネントのインスタンススコープが自身より短いコンポーネントをインジェクションすることは出来ません。
この説明はちょっと難ありです.
スコープが短いコンポーネントを設定すること自体は問題なく
できます.
ただし,それが開発者の意図とは異なる場合があるということです.
例えば singleton のコンポーネント A と B があり,
それぞれに DI されるコンポーネント X があるとします.
もし X が singleton であれば,A と B に設定された
X は同一のインスタンスです.
一方,X が prototype であれば,A と B には異なった
X のインスタンスが設定されます.
それが意図したとおりであれば,問題ありません.
しかし,sigleton のコンポーネントのメソッドが呼ばれるたびに
prototype のコンポーネントが DI されると思う人が多いようです.
特に Web アプリケーションなどで目に付きますね.
そういう動きをして欲しい場合は PrototypeDelegateInterceptor を
使うことができます.
ということをうまくまとめて頂けると嬉しいです.
よろしくお願いします.
--
<signature>
<name>Koichi Kobayashi</name>
<e-mail>koichik @ improvement.jp</e-mail>
</signature>
seasar-javadoc メーリングリストの案内