- 1 名前:デフォルトの名無しさん mailto:sage [04/08/09 18:36]
- 一部で話題になっている国産オープンソースDIコンテナSeasar V2(略してS2)。
ってどうよ?みんなもう使ってるの? 最近、気になるのでスレ立てました。 使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。 それではスタート! 本家 seasar.org www.seasar.org/ Seasar Projectグループ seasarproject.g.hatena.ne.jp/ 関連スレ(なのか?) Java Spring Frameworkを語るスレ pc5.2ch.net/test/read.cgi/tech/1077465099/ Java⇔RDBのMapping-Frameworkを語るThre Vol.3 pc5.2ch.net/test/read.cgi/tech/1090653286/
- 384 名前:デフォルトの名無しさん mailto:sage [04/10/07 02:29:30]
- おれはDIコンテナってのは、ファクトリを自前でがりがり書く代わりにコンテナに
お願いできる(ファクトリ機能の外出し)ってことで理解してる。 それ以外の部分(Hibernate連携とか)はあくまでオプションだと思ってる。 くーすはよくわからん。資料がたりん....
- 385 名前:デフォルトの名無しさん mailto:sage [04/10/07 02:53:44]
- くーすの内容をみずにレス
よくある開発手法は、一般的にやろうとしてたり、実装と独立しようとしてて、使えなくなってると思われ。 くーすの場合は、業務システムをSeasar使って作るという具合に、用途を限定しているから、変に一般化しようとしなければ問題ないんじゃなかろうか。
- 386 名前:デフォルトの名無しさん mailto:sage [04/10/07 02:55:05]
- >>385
資料っていうか、資料へのリンクがない気がする。 たぶん、探せば資料はきっとある。
- 387 名前:デフォルトの名無しさん mailto:sage [04/10/07 02:55:10]
- くーすは特にSeasar2に限定されるものではなかったような。
- 388 名前:デフォルトの名無しさん mailto:sage [04/10/07 02:56:07]
- 限定じゃなくて、前提だね。
- 389 名前:デフォルトの名無しさん mailto:sage [04/10/07 03:04:20]
- ごめん、はてなの解説を「Diconを使ったときの・・・」と読み取ってしまってた。
あのへんのブログをぐるぐる回ったけど、くーす自体にはたどり着けなかった。
- 390 名前:デフォルトの名無しさん mailto:sage [04/10/07 03:06:06]
- もうこういうの飽きた
- 391 名前:デフォルトの名無しさん mailto:sage [04/10/07 03:07:58]
- っていうか、くーすってどこにあるの?
- 392 名前:371 [04/10/07 03:10:42]
- >>380
大筋で同意。うまく言葉にできなかったことを、シンプルな言葉でまとめてくれてありがと。 オブジェクト指向はデータとアルゴリズムをバインドさせることで、エントロピーを低減させた と考えることができるが(C++普及前夜に、関数ポインタを構造体に持たせたコードが増えたのが なつかしいな)、そういう視点でのブレイクスルーがあるの?ということを 言いたかった。 自由度が小さい記述方法を使うことで局所的なエントロピーは下がると思うが、 全体的にはどうなんだろ。フレームワークと、その根底に流れる思想を理解するための 情報量の扱い、という意味で。 「くーす」という哲学を理解というか納得した者同士は、下げられるって ことなんだろうな、たぶん。
- 393 名前:デフォルトの名無しさん [04/10/07 03:25:19]
- >>391
弟子による「くーす」教本 marrow.strnet.com/wiki/pukiwiki.php?%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%BC%EA%CB%A1%A4%AF%A1%BC%A4%B9 ひが尊師やその弟子たちによる教えへのポインタ www.wikiroom.com/tpircs/?higa%A4%B5%A4%F3%A4%CB%A4%E8%A4%EB%A5%C0%A5%A4%A5%B3%A5%F3%BB%FE%C2%E5%A4%CE%C0%DF%B7%D7%CA%FD%CB%A1 「ダイコン時代5秒前」くらいまでは読んでみてから、 拾い読みするといいかも。少なくとも修羅場突破用 割り切り基準としては優れている。
- 394 名前:デフォルトの名無しさん mailto:sage [04/10/07 03:32:03]
- クレクレ君ばっかだね
- 395 名前:デフォルトの名無しさん mailto:sage [04/10/07 03:36:29]
- >>393
ありがと。
- 396 名前:デフォルトの名無しさん mailto:sage [04/10/07 03:37:57]
- >>394
あなたみたいに頭よくないからね。
- 397 名前:デフォルトの名無しさん [04/10/07 03:53:58]
- >>383
> 設定の手軽さと機能の豊富さでS2が一番だと思う。 設定の手軽さで一番、というのは理解できん。 XMLのvalidation考えると特に。 ある程度大きな、例えばconstractor injectionの インスタンス数が100とか言い出すと、コストが逆転する かもしれんけど(まぁそこまでいくとXMLも専用エディタ 使わんと苦しいな)。 フィーリングとしてどれくらい?>リーズナブルな規模 機能の豊富さはXMLの表現力と等価なわけで、情報量が(略)。 相手が日本人だと楽、というのは同意。自分も含めて 技術者として情けないがな……。一時期、Xalanコミュニティ とかに顔つっこんでみたことがあるけど、やっぱりスケール の違いを感じた。ロシア人の英語はよめねー。 >>384 そうね。個人的にもそこがコアだと思う。 AOPはそれを効率よく実現するための手段という考え。 そもそも「FactoryやAFactoryはDIコンテナで代用 できます!」ってのは、DIがFactoryの一流派だけ なんじゃないかと小一時間(略
- 398 名前:デフォルトの名無しさん mailto:sage [04/10/07 10:26:57]
- >>367
鯖提供者募集中だそうです。
- 399 名前:デフォルトの名無しさん mailto:sage [04/10/07 11:07:16]
- しかし、こういうリフレクション全開のしくみが定着すると、いままで語られてた
「型安全性」だとか「コンパイルによる事前検証」のメリットってどうよ?と思わないでもない。
- 400 名前:デフォルトの名無しさん mailto:sage [04/10/07 14:10:56]
- >>399
大いにそう思う。 いままでだと、型の安全性ってのは基本的にコンパイラが あるていどの保証(とはいってもぴんきりだが)を してくれていたわけだが、そういった部分に頼れないと いうことだからね。
- 401 名前:デフォルトの名無しさん mailto:sage [04/10/07 16:46:22]
- 強い型付けはJavaのウリでもあるけども、オブジェクト指向的な利点を
徹底利用しにくいところもあったね。たとえばListnerを使ったコールバック的な 委譲モデルでも、おれはListnerインターフェイスをimplementsするんじゃなくて、 モデル側にMethodオブジェクトを渡してやるほうがなんぼかましじゃないかと 思ったりもするし。 たとえばThreadにRunnableオブジェクトを渡すんじゃなくて、実行して ほしいMethodを渡して、Thread側ではinvoke()するとかのほうがもっとフレキシ ブルなんじゃないかと。Runnableをimplementsする必要すらなくなるし。 こういう、型なんて関係ない、メソッドがあればいい、という使い方は本来、 オブジェクト指向ならではだったわけで。 DIコンテナの場合、利用側ではインターフェイスをもとにしたプログラミングを 行なうわけで、型安全性も十分保証できてると思うし。
- 402 名前:デフォルトの名無しさん mailto:sage [04/10/07 17:14:14]
- キャストごりごりのコードになるよね?
- 403 名前:デフォルトの名無しさん mailto:sage [04/10/07 17:28:17]
- >>401
C#のデリゲート、MSがJavaの仕様に入れようと提案したら Sunに断られたそうで。
- 404 名前:デフォルトの名無しさん mailto:sage [04/10/07 17:29:09]
- そうだな、DIコンテナ使うとキャストは増える。Object型返すしなあ。
たしかにそこでの型安全性は低くなってると思う。Cast例外って 実行時例外だったよなあ。
- 405 名前:デフォルトの名無しさん mailto:sage [04/10/07 17:39:34]
- キャストは増えない。setter使えば勝手に入れてくれるから
- 406 名前:デフォルトの名無しさん mailto:sage [04/10/07 18:37:15]
- 最初の入り口さえどうにかすれば、あとは大丈夫という感じだね。
そういえば。 オブジェクトの遅延生成ができるともっといいね。 遅延というか、オンデマンド。 getXxx使ったときに生成されるような。 じゃないとイモヅル式にオブジェクトが生成されてしまう。 できるんだっけ?
- 407 名前:デフォルトの名無しさん mailto:sage [04/10/07 19:26:43]
- >>405
いやコンテナ内のオブジェクトはいいんだよ。増えるところは S2の例: Hello hello = (Hello) container.getComponent(Hello.class); この部分ね。まあ対した問題じゃないんだけどね。文法上 cast失敗を気にする必要もないだろうし。
- 408 名前:デフォルトの名無しさん mailto:sage [04/10/07 19:58:36]
- 使うとわかるけどcontainerの外でcontainerを使う方が珍しいと思う
- 409 名前:sage [04/10/07 20:27:27]
- まー依存性注入するところでcontainer使うんだから、
奇麗に設計できている場合はそうね。
- 410 名前:デフォルトの名無しさん mailto:sage [04/10/07 20:43:38]
- インスタンスがいもづる式に生成されまくるという問題ってないの?
- 411 名前:デフォルトの名無しさん mailto:sage [04/10/07 20:57:04]
- インスタンスはcontainerが保持しているから問題なし
- 412 名前:デフォルトの名無しさん mailto:sage [04/10/07 21:15:04]
- そのメモリはどこから出てくるの?
- 413 名前:デフォルトの名無しさん [04/10/07 21:24:48]
- >>380はエントロピーって言葉に何か間違ったイメージを持ってるな
- 414 名前:デフォルトの名無しさん mailto:sage [04/10/07 21:34:59]
- >410
基本はSingletonだ
- 415 名前:デフォルトの名無しさん mailto:sage [04/10/07 21:36:14]
- ソフトウェアにおけるエントロピーの定義を教えてくれませんか?
- 416 名前:デフォルトの名無しさん mailto:sage [04/10/07 22:09:49]
- >>414
そうすると、ソフトウェア中で必要なオブジェクトがすべて生成されてしまうことにならないかな。
- 417 名前:デフォルトの名無しさん mailto:sage [04/10/07 22:13:33]
- >>415
これぐらいは自力で調べる癖をつけようね。 ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%AD%E3%83%94%E3%83%BC これの「情報理論におけるエントロピー」のところにある。 > ある確率分布 p(x) をもつ確率変数 X が与えられたとき、 > > H(X) = -Σ_{x∈X}{p(x)log(p(x))} > >この量 H を 確率変数 X のエントロピー という。
- 418 名前:デフォルトの名無しさん mailto:sage [04/10/07 22:20:41]
- >>413
その言葉のもつ本来の意味を知らず、また、知ろうともせず、 単に語感やニュアンスだけでカッコいい言葉を使ってみる、 というのはどこに行ってもありがちだけどね。 >>380の言わんとしていることは分かったけど。
- 419 名前:デフォルトの名無しさん mailto:sage [04/10/07 22:23:27]
- >>415
ソフトウェアにおけるもなにも、エントロピーは情報量の平均だよ。 整理されてなく、どこになにがあるかわからないソフトウェアはエントロピーが高い。 Javaのコードは選択肢が多いから、一行の情報量が多い。 対して、SeasarやSpringなどのBean定義ファイルは選択肢が少ないので情報量が少ない。 また、規模の大きいソフトウェアも、行ごとの情報量が大きくなる。 系が閉じているときのエントロピーの総和は一定なので、どこかのエントロピーを下げようと思うとどこかにエントロピーを押し付ける必要がある。 整理してどこになにがあるか推測しやすい状態で、選択肢の少ないコーディング技術を使って、コード量を少なくすると、エントロピーが低くなる。 作成するソフトウェアのエントロピーを下げようと思えば、ライブラリやフレームワークを使うことのほかに、開発管理がある。 管理された成果物のエントロピーは低いけど、管理作業自体のエントロピーが高いから。
- 420 名前:415 mailto:sage [04/10/07 22:35:34]
- >>417,419
ありがとうございました。勉強になりました。
- 421 名前:デフォルトの名無しさん [04/10/07 22:58:07]
- くーすを実案件に適用した例ってあるのかな?
- 422 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:05:47]
- いまオフショア開発でやってるんじゃなかったっけ?
- 423 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:08:14]
- >>420
-log(p(x))っていうのが情報量ね。確率の対数。で、エントロピーは情報量の平均(期待値)
- 424 名前:デフォルトの名無しさん mailto:sage [04/10/07 23:17:48]
- ×確率の対数
○確率の逆数の対数 文法のルールが多いほどコードのエントロピーは低くなる。 だから、Javaのコードは型の緩い言語よりエントロピーが低くなるんだね。 そのかわり、文法を勉強するためのエントロピーが高くなる。
- 425 名前:デフォルトの名無しさん mailto:sage [04/10/08 01:13:25]
- >>416
すべて生成したとしてもデータを持たないオブジェクトという前提ならそれほど問題ないのでは?
- 426 名前:デフォルトの名無しさん mailto:sage [04/10/08 01:15:39]
- >416
ソフトウェア中で必要なすべてじゃなくて、DIContainerに登録されているものすべて。 prototypeとouterを除く。 なんでもかんでもDIContainerに登録するわけじゃないよ。 多分416が思ってるほど多くはない。
- 427 名前:デフォルトの名無しさん mailto:sage [04/10/08 01:23:41]
- JFrameとかを登録する方針にしたら、えらいことなりそうだけど。
- 428 名前:デフォルトの名無しさん mailto:sage [04/10/08 01:35:41]
- VBとかDelphiで起動時に全フォームクリエイトしておいて
使うときにはShow()するような感じ? Delphiでちゃんとしたアプリ作るときはちゃんと生成・消滅を管理するけど(VBはシラネ)、
- 429 名前:デフォルトの名無しさん mailto:sage [04/10/08 01:45:53]
- そう、そんな感じ。
JFrameはシングルトンにしなければいいのかな。
- 430 名前:デフォルトの名無しさん [04/10/08 03:27:40]
- >ソフトウェアにおけるもなにも、エントロピーは情報量の平均だよ。
…ヲイヲイ…。
- 431 名前:デフォルトの名無しさん [04/10/08 03:43:00]
- JFrameをDIContainerに登録するなら、prototypeになるはずだから
問題なしだ。VB、Delphiは良く知らんが、一つだけインスタンスを 生成しておいて、必要な時はコピーを生成してShow()するようになる。 これくらい分からんような奴らが、「ドキュメントすくねえ」とか 「全然優しくねえ」とかほざいてるのであれば、ひが氏は気に留める 必要ない。ドキュメント整備した所で使えねーよ。 S2Daoの機能強化やS2JSFの方に注力して欲しい。
- 432 名前:デフォルトの名無しさん [04/10/08 05:12:15]
- 前に羽生さんに粘着してた香具師がいたような。。。
ここにもいたりしてw
- 433 名前:デフォルトの名無しさん mailto:sage [04/10/08 09:14:31]
- >>430
じゃエントロピーってなに?
- 434 名前:デフォルトの名無しさん mailto:sage [04/10/08 09:45:49]
- >>417の定義のままだと思うのだが。
- 435 名前:デフォルトの名無しさん mailto:sage [04/10/08 09:51:35]
- >>433
俺≠430だけど、こんな感じじゃない。 持ちうるデータのバリエーションの許容量⇒情報量 それの系全体(平均)⇒エントロピー あるいは、バリエーションの許容量ではなく 絶対量そのものを指す人も多いかも。 どちらにせよ、Wikipediaのと違いはないと思う。
- 436 名前:433 mailto:sage [04/10/08 10:00:18]
- >>435
実は、情報量と書いてる部分も、エントロピーと書くべきだった気がする。 情報量っていうのは、たとえばJavaコードを1行取り出したときに S2Container container = S2ContainerFactory.create(PATH); だったときにどれだけ意外性があるか、という、それぞれの事象に対する量だからね。
- 437 名前:デフォルトの名無しさん mailto:sage [04/10/08 10:06:07]
- >>431
こういう、足りない点を指摘するやつをバカにする方が、スレを荒らしてるわけだが。 こうやって評判落とすようなマネするのって、ヒガさんに実は恨みがあるから?
- 438 名前:デフォルトの名無しさん mailto:sage [04/10/08 10:55:14]
- >>432
そりゃいるだろ。2chだからな。
- 439 名前:デフォルトの名無しさん mailto:sage [04/10/08 10:57:34]
- >>437
恨みはないかもしれないが 妬みややっかみを持っている ヤシはいるんだろうな。
- 440 名前:デフォルトの名無しさん mailto:sage [04/10/08 10:58:46]
- >>438
羽生さんもいるくらいだからな。
- 441 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:00:56]
- >>439
で、ひがさんを擁護するフリをして、Seasar2は敷居が高い、とか、欠点に対する指摘を受け付けない、とかそういう逆宣伝をしてるわけか。
- 442 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:03:29]
- >>440
羽生さんがいるところには常に粘着するわけか。 大変だな。羽生さんも追っかけもw
- 443 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:04:03]
- 恨みを買ってもしょうがないようなところあるからな。
人の話を遮って自分だけ延々と喋るし。 たいていは人の話に耳を貸さないくせにそれは相手によるし。 嫌いなやつは多いだろう。
- 444 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:07:09]
- >>443
まあそういう話はスレ違いってことで。 呼び出しくらうよ。
- 445 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:08:04]
- >>443
何だオマエ知り合いなのか。 本人に直接言ってやれよw
- 446 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:12:59]
- 直接言えないから粘着してるんだよw
- 447 名前:デフォルトの名無しさん mailto:sage [04/10/08 11:15:20]
- それにしても、よく観察してるね。
- 448 名前:デフォルトの名無しさん [04/10/08 11:22:09]
- DIの利点って、分からん奴らにはメソッドの仕様だけ渡して、
その部分だけ他に影響を与えずに作らせることができるという ことだと思います。 Rodの本なんかを読んだり、ソース調べたり、自分で試したり できる人とできない人で、Seasarに関わる人は分化されるのです。 S2を作る人、使う人、使われる人の3種類になるのでしょう。 それぞれのスキルにあった役割を与える。これも優しさです。 使われる人は、他に問題を波及させずにとりあえず、与えられた メソッドの実装を行えばよくなります。 使う人は、実装を外注しやすくなり、Springと比べてもテストや 設定が格段に楽になります。 その点の説明が公式サイトにないので(日記にはあるが)使われる人が 勘違いして、ちょっと調べれば分かることをここでゴチャゴチャ騒いで いることでしょう。 ドキュメントの整備は大歓迎です。ただ他の方に注力して欲しい。
- 449 名前:デフォルトの名無しさん [04/10/08 12:01:27]
- 何だ羽生氏に話を聞いて欲しい奴が騒いでるだけなのか?
ひが氏もいい迷惑だな >>448 >ドキュメントの整備は大歓迎です。ただ他の方に注力して欲しい。 禿同 ひが氏にはどんどんS2を磨いていってもらいたい とりあえず2.1期待ageだ
- 450 名前:デフォルトの名無しさん mailto:sage [04/10/08 12:38:41]
- >>449
話をさえぎられて自分の出番を取られてしまった人じゃないの?
- 451 名前:デフォルトの名無しさん mailto:sage [04/10/08 15:00:40]
- やられたらやりかえせw
- 452 名前:デフォルトの名無しさん mailto:sage [04/10/08 15:17:48]
- >分からん奴らにはメソッドの仕様だけ渡して、
>その部分だけ他に影響を与えずに作らせることができるという ちゃんと詳細設計ができてれば普通のOOPどころか構造化設計でもそうです。 ドキュメントがどうとかは(俺は言ってないけど)せっかく匿名で本音を吐いてくれてるのに それを粘着呼ばわりする被害妄想は止めて欲しい
- 453 名前:デフォルトの名無しさん mailto:sage [04/10/08 15:37:25]
- DIだと、影響を与えないための労力が少ない、ってことじゃね?
- 454 名前:デフォルトの名無しさん mailto:sage [04/10/08 16:37:56]
- 枠組みとして用意されているのでいろんなスキルの人がまざっても
平準化しやすい、という事なら納得できるけど。 というか詳細なインターフェース設計をしてからじゃないと実装始められないよ、 ということか。それはいいかも。でも実装し始めてから設計ミスを直すのが めんどくさそうな肝汁 strutsがMVCモデルを強制してもActionにビジネスロジック書く奴がいて、 結局ちゃんとOOAしないとMVCのメリットがでない ↓ ちゃんとOOA出来る人がいたらstrutsの仕組み必要ない (設定ファイルの手間が増えるし。taglibは便利だけど) みたいな事にはならないのかな?全然Seasarの話じゃなくて申し訳ないが
- 455 名前:デフォルトの名無しさん mailto:sage [04/10/08 17:04:12]
- DIというか、クラス名やらメソッド名を外部設定ファイルに埋め込むと、リファクタリング機能が効かないから不便かも。
strutsのMVCはアプリケーション全体でいえばVの中のローカルなMVCだからしかたないね。
- 456 名前:デフォルトの名無しさん mailto:sage [04/10/08 18:15:12]
- >>453
YES >>454 だからくーすを作ったんじゃないかな
- 457 名前:デフォルトの名無しさん mailto:sage [04/10/08 19:38:28]
- >>448
>使う人は、実装を外注しやすくなり、Springと比べてもテストや >設定が格段に楽になります。 まじ参考までに教えて欲しいんですけど、Seaser2がSpringと比べて テストや設定がしやすい部分ってどういうところなんでしょうか? SpringとSeasar2の比較をいろいろ探したんですが、どれもいまいち ピンと来ないもので。
- 458 名前:デフォルトの名無しさん mailto:sage [04/10/08 21:32:42]
- >>452
人をうんこ呼ばわりしてあげつらったヤシが いるんだから被害妄想もある程度仕方ない と漏れは思う。ひが氏の日記が大人しくなって しまったのが個人的には残念だ。
- 459 名前:デフォルトの名無しさん [04/10/08 21:39:32]
- 議論のアンチパターン 〜不毛な議論を避けるために〜
ttp://homepage1.nifty.com/fujiwo/develop/oo/dscsnptn.html#chapter4
- 460 名前:デフォルトの名無しさん mailto:sage [04/10/08 22:59:10]
- 外注というと書かれるコードの中身は汚くてもいいという印象があってよくない
- 461 名前:デフォルトの名無しさん [04/10/08 23:06:46]
- 外注はよくないけど、とりあえずS2について言うと、
欲しい機能を(Javaでやるという前提であるならば)考えられうる限りできるだけシンプルに実装できるもので 割と好印象。
- 462 名前:デフォルトの名無しさん [04/10/08 23:10:56]
- 少なくともJ2EEを作った香具師より頭いいのは確かだ
- 463 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:13:14]
- 先にinterfaceありきと考えると
仮にコードが汚くてもUnitテストさえ クリアしていれば安心が得られると いう利点があるかなと思うけどどうかな?
- 464 名前:デフォルトの名無しさん [04/10/08 23:18:59]
- >>463
テストをするのは当然で 汚いのはリファクタリングの原則に反するのでよくない
- 465 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:22:32]
- もちろんそうなんだけど
外注に出して汚いコード だったとしてもまだ安心度が 保てるように思うんだが
- 466 名前:デフォルトの名無しさん [04/10/08 23:27:35]
- 設計は変わるもんだ。外注にやるとプログラマからのフィードバックが得られない。
S2は外注向けと考えるならそれは間違い。もともとソフトウェア開発はそういうものじゃない。
- 467 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:38:23]
- ほんとはみんなデスマが好きなのさ。
どっぷりとデスマに浸かることで、 自分は仕事をしているんだ! という満足感が得られるからなのさ。 さらに、デスマを解消したり 回避する方法を考えるのは もっと好きなのさ。 なんでかというと、 自分はこんなすごいことをやったんだ! という優越感が得られるからなのさ。 Seasarってのはそうやって生まれたの。
- 468 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:39:03]
- 外注に出さないプロジェクトって、小さなプロジェクトか小さな会社くらいでは?
- 469 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:45:27]
- >464
汚いのはリファクタリングの原則に反する、ってのはどういう意味? リファクタリングの対象になる、ならわかるけど。 ついでにいうとユニットテスト通ってるならリファクタリングも気楽にできるね。
- 470 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:45:59]
- >>468
S2の話とはもう違うだろ。 外注に出すところのコスト構造って本当に酷いよ。
- 471 名前:デフォルトの名無しさん mailto:sage [04/10/08 23:49:42]
- DI 使うとデバッガ使えないの? テストうんぬんではなく、
ステップ実行とかできないの?
- 472 名前:デフォルトの名無しさん mailto:sage [04/10/09 00:02:32]
- >>467
おかげでデスマにならずに済むなら漏れはありがたい。 >>471 S2のコードも全部放り込んでおけばいいんじゃない?
- 473 名前:デフォルトの名無しさん [04/10/09 01:51:38]
- >>472
デスマはなくならないよ。 まず>>467でいう満足感と優越感がなくなっちゃうからね。 それに、新たな方法論を導入して解決するのは 「今までのステージにおけるデスマ」であり、 「次のステージにおけるデスマ」が控えているんだよ。 デスマあってのSeasarであり、 デスマある限りSeasatは進化し続け、 そしていつまで立ってもデスマはなくならない。 しかし、これがみんなの幸せにつながる。
- 474 名前:デフォルトの名無しさん mailto:sage [04/10/09 02:18:01]
- >デスマあってのSeasarであり、
( ゚д゚) (つд⊂)ゴシゴシ (;゚д゚) (つд⊂)ゴシゴシ _, ._ (;゚ Д゚) …?! '`,、'`,、('∀`) '`,、'`,、
- 475 名前:デフォルトの名無しさん [04/10/09 02:58:52]
- >> 457
設定ファイルやテストコードを書くためのタイプ量がS2の方が少ない。 DIを使うと、これらの煩雑さが問題となってくる。
- 476 名前:デフォルトの名無しさん mailto:sage [04/10/09 07:44:22]
- >471
DIは問題ない。初期化より後は普通だから。 でもAOPを使うとデバッガで追えない。 バイトコードいじってるやつ全般に言えることだけどね。
- 477 名前:デフォルトの名無しさん mailto:sage [04/10/09 08:49:04]
- >>476
AOPを使っても追えるよ。 意味不明なクラスに行くけどそこもトレース実行すればその後は問題なかった。
- 478 名前:デフォルトの名無しさん mailto:sage [04/10/09 14:05:50]
- >>476
デバッガで追えないのは、AspectJ。 S2は普通に追える。
- 479 名前:デフォルトの名無しさん mailto:sage [04/10/09 15:42:43]
- >>462
J2EEっていうかEJB? 後だしじゃんけんだからなぁ。 DynamicProxyのおかげの部分もあるし。
- 480 名前:デフォルトの名無しさん mailto:sage [04/10/09 16:24:41]
- >>479
S2はDynamicProxyは使ってないけどね。 cglibでバイトコードいじっているから同じようなものだけど。
- 481 名前:デフォルトの名無しさん mailto:sage [04/10/09 16:54:24]
- ・・・そうなんだね。
cglibのページの「Open source projects use cglib」に載ってないのが寂しいけど。
- 482 名前:デフォルトの名無しさん mailto:sage [04/10/09 23:49:20]
- バイトコード操作してる地点で実案件に使えるのかなぁ。。
とても使わせてもらえなそうだが。。
- 483 名前:デフォルトの名無しさん mailto:sage [04/10/10 01:01:18]
- オイオイ、どういう判断基準なんだ?
といことはcglib使ってるモノはすべてだめなんだね。 HibernateとかSpringとかも。
- 484 名前:デフォルトの名無しさん mailto:sage [04/10/10 01:37:22]
- >>483
コンテナ部分は使ってないぞ。Spring。readme.txtに書いてある。 なので、AOPやDAO機能を捨てれば非バイトコード操作なDIコンテナとしては使える。 あと、PicoContainerも非バイトコード操作なDIコンテナだよね。 >>482 なので、あくまでもDIコンテナが使いたいならS2以外の選択もある。 AOPを利用したい時にはS2のほうが簡単だと思うけどね。
|

|