[seasar-javadoc:317] ComponentDef Beta4

Hideaki Suzuki suzuki @ uinet.or.jp
2006年 7月 6日 (木) 03:52:32 JST


鈴木(belltree)です。

と、いうわけで(?) ComponentDef Beta 4 です。

junduさん、山本さん、koichikさん、コメントありがとうございます。 mOm

■メタ情報 vs メタデータ
by 山本さん
> メタ情報関連の語彙ですが、語彙を統一した方がわかりやすいと思います。
> (MetaDefではメタデータで統一しました)

by koichikさん
> >  * <dt>メタ情報</dt>
> ここは山本さんの意見採用で「メタデータ」にしましょうか.

by グーグル先生
・メタ情報 の検索結果 約 495,000 件
・メタデータ の検索結果 約 1,130,000 件

というわけで、Wikiに追加しました ^^;;


■メタデータの説明
by junduさん、koichikさん
> > > ■メタ情報の説明
> > > メタ情報の説明の最後は、以下のような感じではどうでしょうか。
> > >
> > > メタ情報は、S2コンテナの外部(自作フレームワークなど)で必要とする追加情報を
> > > 保持する手段として利用できます。
> >
> > ごめんなさい,ここは元の方がいいかなぁとか思いました.
> 
>  いえいえ、お気になさらずに。私の思惑(?)としては、何が出来るか以上に
> 何に使えるのかが分かりにくい機能かなと思って、こんな風に書いてみました。
> ドキュメントの方も、metaについては記述が控えめかなと感じてしまいます(^^;
> 
>  ともあれ、分かりにくくなっては本末転倒なので元の方でお願いします。
みなさま、コメントをありがとうございました mOm;;
ちなみに、この説明は、S2Axis2のサンプルに含まれていた、
 <meta name="axis-service"/> のイメージで書きました。
ちなみに^2、ついさっき、DTD(2.4)を見て、componentsタグ、componentタグ、
argタグ、propertyタグ、さらには、metaタグ自身にもmetaタグを含むことができる
ということを知りました…^^;;; どう使うんだろう??? 
ぜひ具体的な使用例を知りたいと思った次第であります。
…あ、構造化されたメタデータを付加できるということか! な?


■isExternalBindingの@return
by koichikさん
> ・isExternalBinding()
> >      * @return 外部バインディングの設定
> 流儀に従って「〜の場合<code>true</code>〜」で.
はぐぅ…、また無作法をはたらいてしまった…orz
なおしました&Wikiに追加しました。


■init() & destoty()
by junduさん、koichikさん
> ・init()
> >      * コンポーネントインスタンスを生成します。
> JUNDU さんが書いておられるように,インスタンスを生成するとは
> 限らないので
>  * コンポーネント定義を初期化します。
> で.
> アスペクトの適用なんかは singleton に限らず行われます.
> インスタンスの生成は singleton の場合だけ行われます.
> 
> ・destroy()
> >      * コンポーネントインスタンスを破棄します。
> こちらも同様なので,
>  * コンポーネント定義を破棄します。
デグレード発生!!! … 前のままで良かった … orz

実装によって振る舞いが異なるインターフェースのメソッド説明って
(ポリモーフィズムの真髄ですが…)分かりやすく、具体的に書くのが
なかなか難しいですね…。
…と、自分の理解不足をごまかそうとする自分…orz


■ComponentDefのクラスコメント冒頭部分
by koichikさん
> >  * アプリケーションの構成部品であるコンポーネントの定義を表すインターフェースです。
>  * S2コンテナが管理するコンポーネントの定義を表すインタフェースです。
> の方がいいかなぁとか思ってみたり.
なるほど〜。こっちの方が的確で、ピンとくる表現だと思いました。
自分は、ついうっかり(?)、中途半端に抽象的に書く癖がありますね
  …自己分析落ち orz
と、いうわけで、修正しました!


■getComponentClass()
by junduさん、koichikさん
> > ■getComponentClassの説明について
> >  自動バインディングで使うという説明に違和感を覚えました。自動バインディング
> > では、getComponentClassを使って処理をしていなかったような気がします。これは、
> > 私の大きな勘違いの可能性もありますが(--;
> 
> 自動バインディング「される」場合は getComponentClass() が返す型
> およびそれが implements しているインタフェースの型により
> 自動バインディング可能かどうかが決まります.
> 
> ただし,それは自動バインディングの際にチェックされているわけではなく,
> S2Container#register(ComponentDef) などされた時点でコンテナにその情報が
> 登録されます.
> S2ContainerImpl#registerByClass() 参照.
「自動バインディングの際には」を「自動バインディングされる際には」に
変更してみました。

勉強させて頂きました mOm
実際、このへんは、モヤット していた部分だったので、#resigterByClass() を
読んで スッキリ したいと思います!


■getExpression()
by junduさん、koichikさん
> > ■Expressionについて
> >  生成式とすると、定義済みのコンポーネントを指定するような用途で若干違和感が
> > あるように感じました。
> たしかに
> <component name="hoge">foo</component>
> なんてやった場合は定義済みの foo を取ってくるだけで生成は
> していないかもしれませんね.
> でもでも,妥当な用語が思いつかないので,ここはとりあえず「生成式」で.
ラジャー!


■Web? WEB?
by junduさん、koichikさん
> > ■WEBの表記統一
> >  個人的には、Webという方が違和感ないのですが、これは皆さんいかがでしょうか。
> > 特に問題ないということであれば、私も今後WEBに合わせます。
> いわれてみれば「WEB」はクヌース先生のアレっていう気がします.
> # します?
> ちなみに w3.org は「The World Wide Web Consortium (W3C)」なので,
> Web に統一しましょう.
了解です。Wikiに追記しました。
「WEB」については「Web」で調べた後に、コレ? ということなりました ^^;;
TeXのアレですか… ^^;

by junduさん
>  早速、Wikiに書こうと思ったら、先を越されていたようで(^^;;
犯人は私です… (^^;;;;;;;;

ちなみに by グーグル先生
Web の検索結果 約 11,040,000,000 件
WEB の検索結果 約 11,040,000,000 件
… やっちゃいました … 恥


■つい、うっかり
by 山本さん
> あと、細かいところですが179行目の閉じ括弧が一つ多いです(^^;;
あちゃ〜。一応見直したつもりだったのですが、つい、うっかり ^^;;;;
こういうのも、ビシバシ指摘していただけると、恥の上塗り指数が下がるので
大変助かります mOm
つぅ〜か、しっかり見直しせいやぁ ⇒ 自分 ^^;;;;;


▼p.s.1
> @see もろともコメントを丸ごと省略しても引き継がれるはずですよ.
知りませんでした… (常識?)

> 何も書かずに放置するか,@see くらいは書いておくかは統一した方が
> よさそうですが.
自分は DRY派 ですし、もしコードコミッターの立場であれば、 放置の方が
うれしいかなと思います。

ちなみにEclipse(ver 3.2 rc5)上での実験の結果
  ・実装側メソッドに @see なしの場合
    ・実装側メソッドの名前部分にカーソルを持っていくと、
      "ぴろっ"とインターフェース側のJavadocコメントが出ます。
  ・実装側メソッドに @see ありの場合
    ・実装側メソッドの名前部分にカーソルを持っていくと、
      "see also 〜" しか出ません。 (@_@;;;
    ・実装側メソッドのJavadocコメント @seeのメソッド名にカーソルを
      持っていくと、インターフェース側のJavadocコメントがでます。
となりました。やっぱり放置がベター?
ちょっと実装クラスが寂しくなりますが…


▼p.s.2
> っていうか,「初期化」と対になる日本語って?
> いつも悩むんですよねぇ.
> 後処理っていうと「初期化処理」と対になる感じだし.うーみゅ...
私も、「破棄します」、「終了します」、「開放します」など考えた末、
destoy() に近い 破棄 を選びました…
いっそのこと
    /**
     * コンポーネント定義なくなっちゃう〜みたいな。
     * <p>
     ………………
とか…全体的に曖昧な感じで、
世界初、ギャル語 Javadoc解説付きフレームワーク … とか ^^;;;;
…利用者減りそう… すみません … 自分、調子に乗りすぎたっス。

/** 
 * @auther Hideaki Suzuki
 * @contact suzuki at uinet.or.jp
 */
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ComponentDef.java
Type: application/octet-stream
Size: 8342 bytes
Desc: not available
Url : http://ml.seasar.org/archives/seasar-javadoc/attachments/20060706/00e490ee/attachment-0001.obj 


seasar-javadoc メーリングリストの案内