- 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/
- 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のほうが簡単だと思うけどね。
- 485 名前:デフォルトの名無しさん mailto:sage [04/10/10 01:45:20]
- AOPなければ、意味がかなり減るんだけども。
SpringのAOP定義はめっさめんどり。
- 486 名前:デフォルトの名無しさん mailto:sage [04/10/10 04:53:02]
- >>403
偉いなMS。蚊帳の外でもコミットしようとするなんて。 これだけ見るとSUNだめだな。 空のインプリメソッドがゴミのようにある俺のソース…。何とかしてくれ。
- 487 名前:デフォルトの名無しさん mailto:sage [04/10/10 05:05:49]
- いろいろ考えたんだけどさ、EJBとかDIコンテナとか
やっぱりなんかくだらない気がしてきた。 アプリケーション毎に必要な機能って違うじゃんか。 (負荷分散・クラスタリング・動的再配置・トランザクション・必要になるパフォーマンス、とかいろいろ) シンプルな実装をアプリケーション毎に作ったほうが、ムリヤリ共通して使える実装を探さなくてもいい。
- 488 名前:デフォルトの名無しさん mailto:sage [04/10/10 05:07:32]
- シンプルに構造を分割する考え方(〜層、とかいろいろ)の話を延々としているほうがいいと思うよ。
実装はアプリケーション毎に行こう。
- 489 名前:デフォルトの名無しさん mailto:age [04/10/10 05:15:47]
- >>455
リファクタをキジムナに期待age
- 490 名前:デフォルトの名無しさん mailto:sage [04/10/10 05:23:48]
- >>487
それはアプリ毎に必要な機能じゃなくシステムの構成・設定。 487の言う「いろいろ」こそ共通して使える実装部分じゃろ。
- 491 名前:489 mailto:sage [04/10/10 05:56:56]
- >>330
> ところで、S2が正しくinjectionしてくれるかどうかの > テストはどう書けば?(汗) キジムナ使へば下に出るぞ。singletonだけかもしれんが。 それをキャプチャしたのをテスト結果とすると良いかも。 >>399 >>400 キジムナ使え。事前検証バリバリだぞ。 >>作者 コード補完機能キボソ
- 492 名前:デフォルトの名無しさん mailto:sage [04/10/10 08:16:10]
- >>487
だから、アプリケーションごとに違う非機能要件をAOPを 使って処理するんじゃん。
- 493 名前:デフォルトの名無しさん mailto:sage [04/10/10 08:30:30]
- >>486
俺もMSの態度は偉いと思う。 片思いなのがこれまた哀愁がただよってて ヘンに共感してみたり。いやそりゃヨタだけども。 でもコーディング量が増えても インターフェイスという考え方で統一したいって 気持ちもちょっと判るんだよねー。
- 494 名前:デフォルトの名無しさん mailto:sage [04/10/10 08:36:10]
- >>490
トランザクションの基盤なんて単純なものならほんの数行のコードで実装できるし、 動的再配置するためのライブラリ(ちょっとしたネームサービス)あればいい クラスタリングや負荷分散となると、それはアプリケーション毎にかなり違うもんだと思う あんまり仰々しいフレームワークを用意されても、結局複雑にしてしまうだけではなかろうか
- 495 名前:デフォルトの名無しさん mailto:sage [04/10/10 09:05:12]
- >>487
そんなこといったらJDBCもいらんってことにならんか? 何を持ってシンプルな実装というかだな。
- 496 名前:デフォルトの名無しさん mailto:sage [04/10/10 09:41:42]
- >>494
ぎょうぎょうしいフレームワークって何。 S2はシンプルだと思うけど。 POJOが基本で、コアはDIとAOPの機能だけ。 コア以外の機能もいろいろあるけど、 使えるものは使えばいいし、無理に使わず自前で実装しても良い。 ただ、クラスタリングや負荷分散を自前で実装するやつは、 よっぽどのツワモノだと思う。
- 497 名前:デフォルトの名無しさん mailto:sage [04/10/10 10:39:55]
- >>487
EJBはくだらないが、DIはくだらなくないよ。 アプリケーション毎に、というより、アプリケーション内で必要な機能をアプリケーション内で共通して使うためにDI+AOPが有効だと思われ。
- 498 名前:482 mailto:sage [04/10/10 12:58:13]
- >483
SpringもHibernateもDynamicProxyで代用できませんでしたっけ? #フル機能使えなくてもさ DIコンテナってテストが簡単とか、複雑じゃないとか利点ばっか挙げられてるが, 商用EJBコンテナが提供するような分散・スケールアウト手法は確立されているの?
- 499 名前:デフォルトの名無しさん mailto:sage [04/10/10 13:02:41]
- >496
毎回毎回自分で実装できるような奴ならいらんのでしょ。 負荷分散・クラスタリング・動的再配置・トランザクションをシンプルな実装で アプリケーションごとにバグ少なく作成できるような凄い人はうちの周りには いないけどね。
- 500 名前:デフォルトの名無しさん mailto:sage [04/10/10 13:10:21]
- >>499
負荷分散・クラスタリングって、パフォーマンスとの兼ね合いでいろいろ調整いるだろうから、 自分で実装っていうのが基本では。 それを補助く小さなライブラリ(タプルスペース扱うやつは便利だ)があれば満足。
- 501 名前:デフォルトの名無しさん mailto:sage [04/10/10 13:18:19]
- >>500
スーパーな人発見。 釣りじゃないならすごいね。 そういうのは、アプリケーションサーバか負荷分散装置だとかに 任せるものだと思っていたよ。
- 502 名前:デフォルトの名無しさん mailto:sage [04/10/10 13:21:07]
- まぁ、EJBとかに比べると仰々しくは無いのだけど、
Lightweightなプログラミング言語を使っているとどうしても大げさに感じてしまうのよね。
- 503 名前:デフォルトの名無しさん mailto:sage [04/10/10 13:24:26]
- >>500
バイトコードいじくるものより、自分で組んだ負荷分散やらクラスタリングのほうがあてにならんなぁ。 トランザクションも、基盤は数行でも、いろいろなところに埋め込まれて、そっちの方があてにならんなぁ。
|

|