04/10/04 06:33:34
>259
誰に優しいか、っていうと「ビジネスする技術者に」なんだろう。作者と同種の人が対象なんだよ。
効率的な実装手段を求めてもがいてるような。教えて君や駆け出しの新人は入ってないと思われ。
それに、ソースはうまくいかんときにデバッガで追うくらいで十分。
ソース読まなきゃ使えないほど難しくもないし、声高に叫ぶほどドキュメントがないわけでもない。
263:デフォルトの名無しさん
04/10/04 07:03:23
>>262
もう記述は外れてるからどうこういってもしかたないんだけど、「初心者にもやさしい」というニュアンスだったような気がするんだけど。
「ドキュメントが豊富です」と声高に叫ぶほどドキュメントが充実してたわけでもないし。
要は、宣伝文句と実情が異なってたからどうよ、と思ってたわけさ。
264:デフォルトの名無しさん
04/10/04 07:14:34
>>263
J2EEとコンテナ、アスペクトの初心者には充分やさしいと思う。
さすがにJava初心者にはやさしくない。ていうか、インターフェースでプログラミングすると
いうことをSQLできます、COBOLやってました。という人々に理解してもらうのは、すげー難しいぞ(W
265:デフォルトの名無しさん
04/10/04 07:30:21
まあ、問題は初心者っていったときに、なにか勉強しはじめた人のことではなくて「初心者という生き物」のことを指してしまうことがあるからなぁ。
宣伝文句と実情が異なってたときに、オレとしては実情の方をあわせて「これでどうよ?」となってほしかったのだけど、宣伝の方が取り下げられてしまったのは残念だ。
マンパワーの問題もあるだろうし、しかたないのだろうけど。
実情が伴ってきたときに、またあの宣伝文句を掲げてくれれば、と思う。
266:デフォルトの名無しさん
04/10/04 10:06:16
>>255
ここに実名で書き込むヤシはいないだろ。
267:デフォルトの名無しさん
04/10/04 10:10:42
>>265
マンパワーの問題というよりも、ここでの粘着振りに
ひが氏がうんざりしちゃったんじゃないのかな
コンテナのドキュメントが急に書き換わったり
意地になってた気がする。
268:羽生
04/10/04 11:07:35
羽生と申します。2chで本名で書くのもどうかと思いますけど、けじめはつけておきます。
まず、ここに書き込まない理由は、
1.私は長文になってしまうので「長文ウゼー」って言われるからです。
改行が多すぎて書き込み出来ません、ともなります。
2.誰がどの書き込みをしたのかわからないので、脊髄反射的な会話に
しかならないからです。ハンドル名であっても一貫していれば、書き込みの
流れから行間を読むことで解釈のずれを埋める工夫が出来ますが、
そういう機能がないため「書き手の気持ち」を類推することが出来ず、
結果として言葉尻だけを取り上げることが多いからです。
これは、「私には」しんどいことです。
3.追いかけるのが大変だからというのもあります。自分の発言にレスがあったら、
きちんと返さなければという強迫観念があります。blogの場合は、あくまでも「コメント」ですので、
それに対してレスをしなければという気持ちは大らかでいられるのですが、
掲示板などだと常にウォッチしなければということで、日常に入り込んでしまいます。
忙しいときにはそれが苦痛になるので、控えています。これはMLもそうです。
4.自分が発する言葉は自分の心からしか出ません。ですから匿名であっても
責任が生じます。しかしトリップをわざわざ取ったりなど、仕組みとして「自分の責任」を
表明するのが面倒です(取ったこと無いし取り方を調べるのも面倒^^;)。
ですからここで自分の名前によって書いても、騙りと思われたりする可能性を考えると
blogのほうが確実だと考えています。
以上です。その上で、もう少し書きたいと思います。
269:羽生
04/10/04 11:09:45
まず、「優しさ」ということを掲げることについては、誰も反対はしないと考えています。
要点は、これを「理念・目標」と捉えるか、「宣伝」と捉えるか、でしょう。
では、これについて、
「私は宣伝と受け止めた。ついては宣伝に反している。改めるべきだ」
と考えた場合に、意味のある形につながるように取れる行動として、
例えば次のようなことがあるのではないか、と思うのです。
「優しさ、と書いているが、自分には優しさが足りてないように感じる。
ついては、まず、こういうドキュメントを追加してみてはどうだろうか。」
そして、ほんの少しでも叩き台として出していただければ、それが呼び水となります。
ゼロから1への最初の一歩が大変なのです。マンパワーの問題もありますが、
そもそもご指摘があったように、知ってしまっている人間にとっては、ここが足りてないのか
という最初の気付きは難しいものです。
せっかくオープンソースであり、しかも英語圏に比べれば圧倒的に身近な国産のプロジェクトなのですから、
前向きな小さなはじめの一歩をいただければと思うのです。これをMLに投げてもらうだけでも随分と有効です。
MLも別にyahooメールで書いてもらっても構わないのです。同じ問題意識の発露であった場合に、
少なくとも、ここで汚い言葉でののしるよりもどれだけ有効で、どれだけ他の人の役に立つでしょう。
ですから、私はここで文句を言ってるだけというのは、実はこういう問題意識を持ってのことではなく、
それはポーズであって、実は別の感情が潜んでいるのではないか、という風に感じてしまいます。
このスレに書いたことでさえ、ひがさんはちゃんと受け止めて反映しています。
JavaDocプロジェクトも徐々にですが着実に進んでいるのも、例えばからさわぎで
「2chでも指摘されてますが、JavaDocいる人ってどれくらいいます?」というようなやり取りをして、
そこからちゃんと取り組みが始まっています。拒絶はしていません。
ですから、もっと誰もが受け入れやすい形でご提案いただければすごく嬉しいです。
270:羽生
04/10/04 11:11:34
引き続きですみません。
さて、私はこのスレの位置付けというのは初心者にとって大きいため、
ここで不当に貶されるのは、S2へのアンチマーケティングをされていると考えています。
というのは、Seasarで検索するとこのスレがヒットします。知識のないひと(スキルがない
のとは別です)が、ここを見てどう思うか、ということを考えると、必ずしも実情が伝わる
とは思えないのです。
というのは、「優しさ」という言葉尻とその周辺のことばかりが取り沙汰されていますが、
では技術的にどうか、などのことは全然触れられていません。端的に言えば、ひがさんや
取り巻き(この表現の意図もよくわかりませんが)の人格に対する話しかないのです。
ということは、人格に関する情報だけで技術水準を判断されてしまいかねません。
つまり「優しさ」の守り手たらんとしている誰か(誰か、としかいいようがありません)の
発言が結果として、「優しさを必要としている人」の無知識につけ込んでいるようにも感じます。
私たちがやっていることが、全て必要にして十分なレベルにあるなどとは到底いえませんが、
残念ながら客観的に評価されているようには思えません。
こういう部分は優れている、こういう部分はもっと改善が必要だ、というように、要素ごとに
きちんと評価して総合判断を提示するのが、技術者の基本ではないかと私は考えています。
その評価結果が厳しいものであってもそれは謙虚に受け止めてさらに取り組みます。
その意味において、残念ながら非常に一方的な負の感情のみで書かれているようにしか
見えないものが多いのです。ここでまた、S2そのものに対するのではなく別の感情が潜んで
いるのではないかと考えたりもします。
271:羽生
04/10/04 11:16:01
とりあえず最後です。
このようなことを踏まえた上で、他人を「うんこ」だの何だのという言葉を使うというのはどうなんですか?
実名で「これを書いたのは私です」と胸を張って公の場でいえますか? いえるのであれば結構です。
是非、私と会いましょう。いえないのであれば、それは後ろめたいという気持ちを持っているのです。
後ろめたさを自分で作って抱え込んでどうするのですか。匿名であろうとなかろうと、言葉は自分の心からでるものなのです。
その負の感情をなだめようとして匿名でさらに汚い言葉を使っても、それは悪循環に陥るだけです。
その負の感情の源泉が、Seasarプロジェクトの不出来さに起因するのであれば、わざわざ自分の気持ちを
痛めつけるのではなく、お持ちのスキルとその問題意識を良い方向に発揮してください。歓迎いたします。
もし、Seasarプロジェクトに起因しているのでないなら、それは申し訳ありませんが八つ当たりに過ぎません。
自分の心で解決していくことです。ただそれも、例えばからさわぎのような場所で、普段会わないような
広い範囲の方々と話をするだけでも、何かが見えてくるかもしれません。
実際、からさわぎはJavaは殆どわからないという方も多く参加されています。
そして宴会の場で、技術ではないことでも意見交換が出来て非常に役に立ったという感想を
お持ちの方も多くいらっしゃいます。
「来いや」は確かに言葉が乱暴かもしれませんが、本心です。多くの方が前向きに(S2に対して、ではなくて、
自分の将来に対して)取り組んでいる場に触れるだけでも全然気持ちが変わります。
私も別に年中元気なわけではありません。しかし皆さんとお会いすると元気をいただけます。
私も少しでも皆さんの元気のお役に立てるようになりたいと思ってます。
是非、お会いしましょう。前向きなケンカは必ず第3の素敵なアイディアを生み出します。別にケンカしなくてもいいんですけどね(^^)
今後ともS2およびSeasarプロジェクトへの叱咤激励をよろしくお願いいたします>all
尚、やっぱり恐いので基本的にここでは書きません。2chで実名出すのはやっぱりドキドキしますよ(w
272:デフォルトの名無しさん
04/10/04 11:21:18
心配しなくても、実名の人に対して叩くほどの度胸はもちあわせておりませんよ。
トリップは適当に「羽生#seasar2004」みたいな#のあとに何かつけたらMD5かなんかの文字列になるだけなので、つけたほうがよさげです。
273:デフォルトの名無しさん
04/10/04 11:26:44
>>268-271
長文乙
274:デフォルトの名無しさん
04/10/04 11:37:14
長文ウゼー
275:デフォルトの名無しさん
04/10/04 11:40:58
>>268-271
ネタニマジレ(ry
276:デフォルトの名無しさん
04/10/04 11:49:43
ハブカブアガル。微妙に。ちょっとだけ。
277:デフォルトの名無しさん
04/10/04 13:18:10
つか、
>>242
>>に自分が含まれていないって曲解してないか?
含まれてるのを前提として>>230を読み直しても、全然問題ないんだけど。
どう読んだら>>230がそういう曲解に見えるんだ!?
おまい、ひがさんの直下のプロジェクトやったことあるんだろ。
うらやましいなぁ。漏れは馬鹿にされるぐらいの勢いでケアしてもらった方が、安心できるけどな。
11月のからさわぎには絶対参加しよう。
278:デフォルトの名無しさん
04/10/04 13:33:53
>>277
はぶたんには、長文乙と伝えてくれ。
ひがたんには、うほっと(ry
279:デフォルトの名無しさん
04/10/04 13:59:55
それよりオマエら、S2のSがSpringのSとまぎらわしいと思ったことはないか?
オレはある。
プレフィックスはまぎらわしくないものにするべきだ。
ここは「夜の」をつけることにして大人の雰囲気を醸し出すようにするのはどうだろう?
つまり「S2Struts」「S2Hibernate」「S2Dao」を「夜のStruts」「夜のHibernate」「夜のDao」とするのだ。
これでSpringより大人な感じが伝わるのではないかと思う。
280:デフォルトの名無しさん
04/10/04 15:13:19
それは素敵な案だが少し淫靡な香りが漂う気がする。
そこで大衆の支持を得るために「冬の」をプレフィックスに
するというのはどうだろうか。春(Spring)に対抗するのだ。
「冬のStruts」「冬のHibernate」「冬のDao」とするのだ。
これでSpringよりも婦女子の人気もバッチリだろう。
281:太田@会社
04/10/04 15:22:57
私はどちらかというと方法論者(Methodologist, 社内でRUPとかの推進をしています)で,その立場からSeasarを応援(期待)しています。
理想的には純粋なOO分析,設計でRUPなのですけど,スキルやリソース,コストの観点からは最低レベルの技術者でも一定の枠組みに従って開発できる仕組みと方法論が必要というのが現実のところです。Seasarと「くーす」はその一つの回答となっていると考えました。
こちらでもはぶさんのおっしゃられているようにもう少し建設的な意見があると良いかなと思うのですがどうでしょうか。
282:デフォルトの名無しさん
04/10/04 15:40:36
>>280
冬ソナかよ!
283:デフォルトの名無しさん
04/10/04 16:20:52
>>281
そんなに否定的な意見ばっかりかなぁ?
否定的意見に対する反論もあるし、後は読んだ人が自分で判断することなのでは。
284:デフォルトの名無しさん
04/10/04 16:24:41
>>281
匿名の場合、ネガティブな部分が大きく出て、建設的な意見は出にくいと思う。
ナイスアイデアは名乗ってから言いたいからな。
逆に、否定的な意見をここで拾えばよろしい。
>>279-280のようなとても建設的な意見もあるが。
っていうか笑わせるな。ひさびさ腹いたくなった。
285:デフォルトの名無しさん
04/10/04 16:33:30
否定的なことを建設的に書けばいいんじゃないかな。
特定個人をとやかくいうんじゃなくて例えばJavaDocがない
とかならS2DaoのここだけでもJavaDoc書けやゴルァとかな。
何をやればもっと良くなるのかを指摘してやればいいんじゃないかな。
286:デフォルトの名無しさん
04/10/04 17:00:55
全体的な指摘だと、こうするべきっていうのは書きにくいからなぁ。
現状サイトが貧弱だし、最初の入り口になるナビゲーションが非常にとぼしい。
最初になにをすればいいかわからないしな。
何度も言ってるけど、使ってみないとなにができるかわからない。
DIやAOPがなんであるかを知っていないと、使おうと思わないだろうな。
こういうのは、「ここをこう」みたいなヒトコトじゃ指摘できないんだよね。
ま、とりあえずホームページの体裁を整えて欲しい。
作者のブログとはいえプロダクトとはあまり関係ない話題を引用してきてどうこういうのはどうかと思うが。
287:デフォルトの名無しさん
04/10/04 17:35:04
トップページは何の更新もないし、タイムスタンプで新しくなったのがわかっても、ダウンロードするまで何がかわったかわからないし。
で、よくみたらブログにはちゃんと書いてあったりする。
288:デフォルトの名無しさん
04/10/04 19:26:46
>>287
それははなからブログをチェックするのが正解かと。
289:デフォルトの名無しさん
04/10/04 19:34:44
>>281
2ちゃんのスレは「小さなはじめの一歩」次第でどうとでも変わります。
一旦方向性をみつけると、良くも悪くもそちらへ爆走します。
どちらに向いて爆走するかは「小さなはじめの一歩」次第です。
太田氏が「方法論者(Methodologist, 社内でRUPとかの推進をしています)」であるなら
その現場で培われた成功例(例えば、知識のない人にどう啓蒙していったのか、どうや
って教育したのか、何を見せどう説明したのか等など)を書き込んでもらえると、このス
レにとって「前向きな小さなはじめの一歩」に成り得ると思うんですが・・・・・・・・
勿論、ただの要望で「もしよろしければ」という話です。
290:デフォルトの名無しさん
04/10/04 19:56:47
>>288
そういう情報は、「公式サイト」には書いてないからねぇ。
別に広めるつもりがないならかまわないけど。
雑誌なんかでSeasar知った人が、ブログをチェックしないといけないとは考えないだろ。
「仲間うちで使うための便利なもの作ってます。使いたければ勝手に使ってください」
というスタンスだというなら、とやかくいうつもりはないが。
291:デフォルトの名無しさん
04/10/04 21:59:47
国産じゃデファクトスタンダードには間違っても為らないワケで。
国産唯一の利点は「ドキュメントに読みやすい日本語が期待できる」だが、
それも無いし。
結論:イラネ
292:デフォルトの名無しさん
04/10/04 22:23:32
デファクトスタンダードは難しいだろうけど、ニッチでもいいじゃん。
世の中みんながトヨタやフォードに乗ってるわけでもなければ、
OracleやDB2を使ってるわけでもないんだから。
つーか、デファクトはEJB3.0なんじゃないの?
実際の小さい仕事で使ってみて今、基本部分が出来上がったとこ。
業務ルールとそれのつなげ方を分けて管理できるライブラリ、って感じで使ってみたけど
なかなかイイよ。俺は手抜きしてついつい業務ロジックを大きく作っちゃうんだけど、
単純なクラスをDICONで連結する構造が、結構自然に簡単にできた。
慣れるまで1週間くらいはかかったけど。さすがに1時間じゃ無理ぽ。
あと、バックエンドが簡単になったらフロントの Struts の辛さ倍増。
はやくS2JSF使わせてけろ。
293:デフォルトの名無しさん
04/10/04 22:37:47
>>292
使ってみれば、いいことはわかるんだよ。
そのための情報が少ないのが問題だね。
ブログ騒ぎで「ここだけの話」を見てみたら、リリース情報が逐一載っていた。
唖然とした。
公式サイトのチェックはしてて、新しいもののリリースは最近ないものだと思っていた。
294:デフォルトの名無しさん
04/10/05 00:05:04
公式サイトのwhat's newが欲しいってのはわかるなー。
295:デフォルトの名無しさん
04/10/05 00:35:33
MLでは逐一リリース告知されているわけだが
296:デフォルトの名無しさん
04/10/05 01:04:23
sourceforgeにも、リリースメモがあると思うが。
297:デフォルトの名無しさん
04/10/05 01:09:10
要するに興味ないくせに文句だけは言いたいわけだ
298:デフォルトの名無しさん
04/10/05 02:21:15
>>293-294
URLリンク(sourceforge.jp)
299:デフォルトの名無しさん
04/10/05 03:09:38
探さないのが問題だとも言えるし、探さないと見つけられないようなのが問題だとも言えるかも。
300:デフォルトの名無しさん
04/10/05 07:09:43
>>295-298
「仲間うちで使うための便利なもの作ってます。使いたければ勝手に使ってください」
というスタンスだというなら、とやかくいうつもりはないが。
301:デフォルトの名無しさん
04/10/05 07:16:45
とりあえず、公式サイトは吉田カバンなみ。
302:デフォルトの名無しさん
04/10/05 09:17:27
ていうか、Seasarに文句言ってるヤシは、Springを使ってるの?
303:太田@会社
04/10/05 10:31:46
289さん>
とりあえず社内外で
URLリンク(patterns-wg.fuka.info.waseda.ac.jp)
なことや,社内でのRUP研修で紹介して興味を持ってもらっている段階です。
私は開発ではなくテストが専門なので,その分野から攻めていって「テストが効率が上がる」というと興味を持ってくれるSEが多いです。
304:太田@会社
04/10/05 10:36:55
あとはオブジェクト指向分析・設計の研修ですと,
やはりみなさまオブジェクト協調関係の生成をどのオブジェクトがどういったタイミングですべきかについて悩むが多いです。
そこで,Robert C. Martinのオブジェクト指向の基本原則などとからめて,DIコンテナを説明し,
もっともとっつきやすい(私の主観ですが),Seasarを紹介するという形です。
305:デフォルトの名無しさん
04/10/05 11:22:56
モノ自体の仕組みとしてはとっつきやすいと思う。
SeasarのBean定義はSpringより少ない記述量でできる。
だから、わかってる人が近くにいれば、とっつきやすいと思う。
問題はわかっている人が近くにいないとき、Springの方が情報が得やすいということ。
306:デフォルトの名無しさん
04/10/05 12:57:39
>>305
>Springの方が情報が得やすいということ。
そうか?
Springは機能やら専門用語が多すぎて、わけわからん。
307:デフォルトの名無しさん
04/10/05 14:08:15
>>306
書籍に記述もあるし、網羅したリファレンスもあるし、そのモノが難しいというのは置いておいて、情報は得やすいと思う。
AOPのための記述とか、Seasarに比べるとアホみたいにめんどい。
もっと簡単な記述があるのかもしれないけど。
308:デフォルトの名無しさん
04/10/05 14:58:08
S2のJavadoc、@authorの下の行にコメント書いてある。
作者はJavadoc使ったことねぇのかな?少し笑えたぞ。
309:デフォルトの名無しさん
04/10/05 18:10:02
「2chに悪意を持って書き込む奴がいる」って何をいまさらw
310:デフォルトの名無しさん
04/10/05 18:59:41
善意がないだけで、悪意もないと思うんだけどね。
無責任なだけで。
「Seasar2はインストールするだけでシステムが不安定」とか事実ではないこと書けば、それは悪意があるんだろうけど。
311:デフォルトの名無しさん
04/10/05 19:00:08
>>309
ところで、どこに書いてあるの?
それ。
312:デフォルトの名無しさん
04/10/05 19:34:49
なんか、サイトの構築始まってるね。
左側のメニューにWhat's newが欲しい、とか、ロードマップが欲しいぞな、とかは思うが。
まあとにかく要望は出せばキリがないからほっといて、早いトコサイトインできるようにがんばって欲しいね。
せっかくWEB+DB PRESSに寄稿したり、JAVA PRESSに記事が載ったりしてんだからね。
記事みてサイトにアクセスして迷子になってあきらめる人がいるだろうから。
313:デフォルトの名無しさん
04/10/05 19:55:27
307を書き込むときに、AOPのドキュメントってこんなに充実してたかなぁと思ったんだけど、やっぱり書き直されてたのね。
サイトの更新履歴も欲しいぞな。
ブログベースってことで、どうなるのかしらんけど。
まあ、関係者のブログの関連するネタを整理して、アイドルネタを省いたものになるという感じか。
314:デフォルトの名無しさん
04/10/05 21:38:25
EJB以外を使う香具師は、厨房。
315:デフォルトの名無しさん
04/10/05 21:45:06
>314
そんな餌(ry
316:デフォルトの名無しさん
04/10/05 22:05:08
というか、厨房でもなんでもいいから、動くものを早く手軽に、ってことだな。
いくら高尚で美しい設計でも、利用開始に間に合わないんじゃ仕方ない。
317:デフォルトの名無しさん
04/10/05 22:18:29
>316
他のコンポーネントやテーブル設計を待たずに実装とテストのフェーズに入れる>S2Unitによるリードタイムの短縮
S2OpenAMFやS2FlexみたくWebベースでHTML以外のUIの選択肢でも連携する手立てが用意されてるのもS2の良いところかもな。
318:デフォルトの名無しさん
04/10/05 22:24:55
>317
他のコンポーネント→他の’関連する’コンポーネント’の実装’
>313
S2DAOのドキュメントも刷新されてますね。
319:デフォルトの名無しさん
04/10/05 22:30:46
真剣に「くーす」で設計してみようと思って、ひがさんの↓
ダイコン事態の設計手法と、その2
を読んだ。
最後の「何か合コン誘われたから行ってくるわ」が気になったので読んで見た。
関係ねーじゃねぇか>くーす
もう帰る。ウワァァーン
320:デフォルトの名無しさん
04/10/05 22:37:44
>316
御意>いくら高尚で美しい設計
美しい設計はあくまでメンテナンス性の為の一手段に過ぎない。
そうありたいし、心掛けてるが納期に間に合って、利益を生むのが大々前提。
で、プロジェクトには新人さんも(使用するテクノロジーに)不慣れな人間も居るのが当たり前。
彼らが、この先淘汰されるかどうかは知ったことでは無いが、現実の案件をデスマらせない
には、個々のスキルに任さないのは一つの立派な考え方。
数を集めるより少数精鋭の方がコストメリットもあるとは思うけど、愚痴をたれても仕方無い。
というわけでS2が選択肢としてあって、使ってるんだが。
321:デフォルトの名無しさん
04/10/05 22:41:10
>319
御愁傷様(藁。くーすについては大阪のからさわぎの資料がテンプレも付いてるので興味深いな。
322:316
04/10/05 23:03:41
じゃあDIは美しくない設計なのか、というと、そうじゃないんだよね。
むしろ、DIだと設計をしなくてよくなるので、美しいとか美しくないとか判定する必要もない。
各機能各層について独立したクラスを作って、ゴンゴン組み立てればいいわけだから。
どこでオブジェクト生成してどこに保持してどうやって受け渡すか、それをいかに美しい設計で実現するかなんて考える必要はないんだから。
もちろんミクロやマクロの設計はしないといけないけど、それはEJBだって助けてくれるもんじゃない。
それにミクロやマクロの設計は楽しいし。
323:デフォルトの名無しさん
04/10/05 23:19:30
without hairとか、禿げ本、禿げ会とかさー、言語の壁を隠れ蓑にして、
先人(Rod)をリスペクトしない姿勢が、鼻につくんだよ。
お前ら、Rod本人に向かって、禿げって言えんのかよ。
324:デフォルトの名無しさん
04/10/05 23:25:07
他者に優しいのが、XPのペアプロに代表される少数精鋭の徒弟制度。
「スキルの無い奴」とか
「彼らが、この先淘汰されるかどうかは知ったことでは無い」とか、
結局お前、自分に優しいだけちゃうんかと。
325:デフォルトの名無しさん
04/10/05 23:33:39
>>324
それ作者にも言ってやれ。
326:デフォルトの名無しさん
04/10/05 23:39:53
>324
少数精鋭のXP、って時点でスキルの無い奴がはじき出されてるぞ。
仕事なんだから、最低水準の質を確保する仕組みってのは求めて当たり前でしょ。
そこから先、どう仕事に取り組むかは個人の問題なんだから。
327:デフォルトの名無しさん
04/10/05 23:43:41
>323
コミッタでも近しい関係者でも無いよ。確かにイクナイ >お前ら、Rod本人に向かって、禿げって言えんのかよ。
禿しく同意だ。が、ひが氏本人が言い出した訳でもあるまい。
323本人の発言ではないと思うが、かといって逆にウンコ呼ばわりしたら同じ穴の狢でしょ?
>324
少数精鋭の徒弟制度がすくすくと育てば、ある意味で素晴らしいと思う。
で、’まず’自分に優しいのは当たり前だろ?社内のみならず協力会社を含めた遍く全ての他者が
今後、どう身を振るかまで慈悲深く’優しく’すんのかい?
328:デフォルトの名無しさん
04/10/06 00:48:38
>>323
Rodにハゲと言える仲になりたい。
329:デフォルトの名無しさん
04/10/06 02:12:53
つーか難癖つけすぎ。
粗探しばっかりでは面白くない。
330:デフォルトの名無しさん
04/10/06 02:24:16
まぁ、1のことを10の言葉で語る人のことはさておき
(cocoon本のころは良かったのになぁ)、ちょっと本質的なネタを
振ってみたいな。
(1) S2を使うと、本当にテストがしやすくなるのか
(2) S2を使うと、本当によいものができるのか
(3) S2を使うと、本当にスキル低い人でも一定の品質を保てるのか
(4) S2を使わないと、上記のようなことはできないのか
(5) 成果物全体がS2に汚染されるけど、それはOKなのか
まぁこの際S2をDIコンテナと言い換えてもいいや。
いくつかモノを作ってみたが、(1)はまぁ同意できる。
EJB使ってるとFactory駆使しないと結合を切れないが、
その辺をフレームワークとして統括できるのは便利。
(2)~(3)は、ツールで解決するものか?という気がぬぐえない。
あと、テストパターン研究会でも話題になったが、ソースコード
トレースがし難くなるのは避けられないという問題もある。
(4)は程度の問題か。(5)はメリットとの天秤になるのかな。
インテグレーションクラス周辺だけ使う、というのが現実的か。
ところで、S2が正しくinjectionしてくれるかどうかの
テストはどう書けば?(汗)
というわけで皆の意見を聞きたい。
331:デフォルトの名無しさん
04/10/06 03:11:04
似たような方向の技術ならスタンダードなものを選んで習得するのが鉄則。
となると、EJB以外の選択肢は無い訳で。
332:sage
04/10/06 05:47:27
>>330
>ソースコードトレースがし難くなるのは避けられない
これはDIの概念を読んだときからずっと気になってた。スキルの低い技術者が
出入りする大規模なプロジェクトでは影響がでかくない?
モデリングがちゃんとできる人がインターフェースの設計まで
きっちり終えてからコーディングさせないとメンテ不能なソースになりそう。
ひが氏はクラス図すらいらないみたいな事をどこかで言ってた気がするけど。
開発者もメンテナもくーすに従えば解決するのだろうか?
333:332
04/10/06 05:49:57
sage間違えて恥ずかちぃ
334:デフォルトの名無しさん
04/10/06 06:27:38
>>323
何だSpring派がS2叩きしてるだけか
335:デフォルトの名無しさん
04/10/06 06:29:10
>>324
少数精鋭をどう育てるの?
336:デフォルトの名無しさん
04/10/06 06:32:15
>>324
スキルのない奴が淘汰されるのは当然だろ?
337:デフォルトの名無しさん
04/10/06 06:33:15
>>323
で、オマエはRodの言ってることどれだけ理解して実践してるの?
338:デフォルトの名無しさん
04/10/06 06:36:42
で、お前等結局
1)S2が邪魔
2)ひがが嫌い
3)羽生がウザイ
のどれYO?
339:219
04/10/06 06:38:27
俺のおかげでスレも伸びたし S2 も注目されたわけだ。感謝汁!
340:デフォルトの名無しさん
04/10/06 06:55:09
羽生ウザイ
羽生はキチガイ
羽生はデブ
羽生はウンコ
羽生は氏ね!
341:デフォルトの名無しさん
04/10/06 07:17:30
>323
Spring派とかいうわけでも無いんじゃね?
>331
EJBとがどこがどう似てるんだろ?スタンダードってのは
2.0なのか、それとも先の3.0のことを指してるんだろうか?
先のことを指すんであればそれこそJDOも含めて、流れが
どうなるか判らんと思うんだが
>330
(2)、(3)は今後のくーす次第かな、S2を使うからどうなるわけでもない。
(4)は疑問自体が難しいな、逆にどう思います?
(5)についてはDIコンテナが依存性を注入するので汚染?と
言われてもと思うんだけど
だからトレースやりづらくなるというのは判らなくもない
342:デフォルトの名無しさん
04/10/06 07:19:48
>340
ID表示が無い板だからといって朝から釣りはやめような
343:デフォルトの名無しさん
04/10/06 07:25:08
>>342オマエ羽生だな(w
344:デフォルトの名無しさん
04/10/06 07:25:54
羽生氏ね(藁
345:デフォルトの名無しさん
04/10/06 07:29:44
219頑張れ!219は正しい!219はネ申!羽生氏ね!
346:デフォルトの名無しさん
04/10/06 07:34:43
>343
釣れて小躍りしてるかもしれんけど赤の他人だ、
数少ない君の人生の喜びを奪って申し訳無い。
>332
どうだろう?メンテナというかカットオーバーしてチーム
が解散、保守は引継ぎってところで発生する問題点は
まだ言及されてないんじゃないかな。
diconのまとめかたを含めて330のトレースの問題が
出てくるかもしれない。
347:デフォルトの名無しさん
04/10/06 08:59:40
>>330
全て、S2やSpringを使えば無条件にというわけではないというのは前提。
> (1) S2を使うと、本当にテストがしやすくなるのか
コンポーネントが独立するので異なる環境で動かしやすくなる。
> (2) S2を使うと、本当によいものができるのか
よいものの定義にもよる。
同じものであれば早くできるようになると考えれば、よいものにするための時間が多く取れるのでよいものができる確率が高いといえるかも
> (3) S2を使うと、本当にスキル低い人でも一定の品質を保てるのか
スキルが低い人が一定の品質を保てるのではなくて、スキルが低い人がいても一定の品質を保てる、だと思われ。
コンポーネントの独立度が高くなるので、スキル低い人の影響が減らせる。
> (4) S2を使わないと、上記のようなことはできないのか
DI+AOPを使わないと、初期コストがかかりがち。
ただし、その場合はプロジェクト用フレームワークをかっちり作ることになるので、DI+AOPを単純に使う場合よりも楽にできるかも。
でも、同じ努力をDI+AOPを使ってやったらもっとやりやすくなるだろう。
> (5) 成果物全体がS2に汚染されるけど、それはOKなのか
設計がDI前提のものになるだけで、個々はあまり依存しない。POJOだし。
だから、S2とSpringを切り替えることも、S2を使わなくすることも、個々の部分には影響なくできる。
と思う。
348:デフォルトの名無しさん
04/10/06 09:02:27
ソースコードのトレースが難しくなるって
んなもん、OOPになってから諦めてますよ
ただ、インターフェースの設計をかっちりやらないとダメなのは同意
くーすでは単なる単体テストがやりやすいとかでなくて、
設計やら仕様のテストについても言及があってしかるべしだとおもうんだが
349:デフォルトの名無しさん
04/10/06 11:28:08
今更だが。
>>245 名前:デフォルトの名無しさん[sage] 投稿日:04/10/03(日) 17:56:40
>>半角英数字の前後にスペースを入れるクセは珍しいから直したほうがいいよ
スペースが入ってるほうが見やすいだろ?
Java 標準 API ドキュメント日本語版や Eclipse 言語パック適用後みたいにな。
それとも、こいつらも珍しいから直してもらうか w
350:デフォルトの名無しさん
04/10/06 12:21:09
>>349
いや、キミを判別しやすくて便利だから構わんのだけど。
351:デフォルトの名無しさん
04/10/06 16:19:56
>んなもん、OOPになってから諦めてますよ
俺的にはOOPになってから、スキルの低い人が書いたソースは
前(構造化設計)より酷くなったけど、スキルが高い人が書いたソースは
前と比較にならないくらい読みやすくなったと思う。
クラス図を見ればどの実装がどこにあって、それぞれの責任範囲が見えてくるから。
ヘボが書いたソースは不可思議なところにメソッドが実装されていて
ソースを追うのが困難。スキルはそこそこだけどオブジェクト指向に慣れていない技術者は
画面または機能ごとにクラスを作っていて、「これじゃC言語を構造化設計で
ソースファイル分割していたのと大して変わらんなあ」というのが多い。
352:デフォルトの名無しさん
04/10/06 17:59:54
要するに、クラス図があればオッケーってわけで、
なければやっぱりトレースしにくいと思う。
ソースだけで一番追いやすいのは、最後の
「スキルそこそこオブ不慣れ」のソース。
勿論良い悪いは別ですよ。
きちんとドキュメントは残しましょうって事ですかね。
353:デフォルトの名無しさん
04/10/06 18:01:39
ああそうか、diconファイルが上手いこと
ドキュメントになりゃいいのか。
354:デフォルトの名無しさん
04/10/06 18:48:42
そりゃそうだ。
DIベースのプログラミングの従来型からの違いはそこにあるわけだし。
355:デフォルトの名無しさん
04/10/06 18:57:14
>ソースだけで一番追いやすいのは、最後の
>「スキルそこそこオブ不慣れ」のソース。
それは確かにそうかも。
diconからドキュメントにするのはどうかなあ。シーケンス図をかかないと
そのインターフェースで必要十分なのかどうか判断しづらいと思う。
実装に入ってからレビューすると修正作業が多くなるので、やっぱり
あらかじめクラス図とシーケンス図を元にPLがちゃんとレビューして、
修正が終わってから実装に入った方がトータルでは楽じゃない?
まあくーすとは路線が違うのかもしれんが。
356:デフォルトの名無しさん
04/10/06 19:14:53
DIコンテナのBean定義ファイルは、オブジェクトの関連図になるよね。
コラボレーション図になるのかな。
357:デフォルトの名無しさん
04/10/06 19:19:09
>>355
そうだよなー。だから開発プロセスについて
あーだこーだ盛り上がるわけだ。
オブジェクト指向のおかげで(せいで?)
ゴリゴリ書いて動けばおしまいってのじゃ
済まなくなったと。
くーす本、楽しみです。
実業務に則して、要件定義から見積もり提示とか
そういうのまで含めてくれるととても嬉しい。
358:デフォルトの名無しさん
04/10/06 19:30:30
あー、見積りは嬉しいかも
359:デフォルトの名無しさん
04/10/06 20:16:01
くーすは、要件定義がインプットになるから、要件定義とか見積りとかは無い。
くーすでなくてもいいから、見積りは欲しい。
360:デフォルトの名無しさん
04/10/06 20:22:12
結論:EJB3.0 >>> Spring >>>>> S2
361:デフォルトの名無しさん
04/10/06 20:30:32
EJB3.0が本当に良いならS2EJBが出るような気もするがな
362:デフォルトの名無しさん
04/10/06 21:18:38
SpringならGeronimo::Springがすでにあるけどね。
プロジェクトだけ。
363:デフォルトの名無しさん
04/10/06 21:56:25
>360
比較できるほど三つとも使い込んでいるのか。
どこでどう差がつくのか是非教えて欲しい。
364:デフォルトの名無しさん
04/10/06 22:04:01
>360
リリースされてないしさ。まだまだ仕様は変わっていくので
比較は出来ないでしょ。
365:デフォルトの名無しさん
04/10/06 22:13:01
是非>>360にEJBとJDOの統合による将来像というのを教えてもらいたい
366:デフォルトの名無しさん
04/10/06 23:24:06
ひがさんがここを見てるかもしれないんですよね?
ってことはこの板で一番要望が高いS2JSFで「こんなんほしい!」ってのを
書き込むと良いんではないでしょうか?>ほしがってる方々
367:デフォルトの名無しさん
04/10/06 23:35:52
はぶ氏が作ったサイトにアクセスしてみたけど、かなり頻繁にMySQLのエラーを吐くな。
もちっと余裕があるサイトに引っ越したほうがいいような。
368:デフォルトの名無しさん
04/10/06 23:48:29
ロジックとデータの分離って、やりにくくね?
369:デフォルトの名無しさん
04/10/06 23:54:26
>>366
自分でひが氏のブログにコメントしろ!
ちゃんと返事来るぞ。
370:デフォルトの名無しさん
04/10/07 00:07:47
>>368
やりにくい部分もあるけど、やれる部分のほうが多くない?
371:330
04/10/07 00:25:56
みんな朝からありがトン
提案目的は、S2が使えるシチュエーションと注意事項を確認したい、ということね。
330で提示した中で、
(2)と(3)を聞いた意味は、自然なモデリングを変に崩すことになったり、制約が変な方に
働いて妙なものができてこないか
(4)は、書き方がまずかったが、DIパターンの目的である「依存関係のreasonableな分離」
を実現するためにS2は適切なのか
(5)は、importが云々という話の他に、例えば、「コンポーネントはsingleton、状態はク
ライアントが持つ」という考え方に染まったコードになり、理解者(というより共感者?)
以外は気持ち悪い思いをするよね?ということ。
個人的に気になるのは、作成するソフトウェアの複雑性を緩和するブレイクスルーがない
ように見えることなんだよな。
例えば、状態はクライアントに持たせ、コンポーネントはステートレスという思想という
か制約。データとロジックを分離させる方が有効なケースがあるのはわかる。コンポーネ
ントを作りやすくなるケースがあるのもOK(小規模な場合しか想像できないが)。
ただ、一般的には複雑性が増すわけで、適用箇所次第では、複雑性のしわ寄せがクライア
ント側にくるだろうし、コンポーネントも組みにくくなる。
さらに、346が言うように、思想を理解させなければ、こうやって組まれた構成の第三者
の理解およびメンテナンスが困難だ。
というわけで、ぶっちゃけた話、ある程度大きなアプリの適用例とメイキングオブが知り
たいわけだが。これは身をもって体験するのが一番か?
S2に限らず、J2EEのメリットが出るような規模のサンプルって、ほとんど表に出てこない
しね。抽象的か、短すぎる事例報告だけ。というわけで、もーちょっと様子見かな。
372:デフォルトの名無しさん
04/10/07 00:27:23
>>370
「構造体と関数」って感じで慣れないな。
どうしてもドメインモデルで考えてしまうYO。
ロジックをビジネスロジックとビジネスルールに分けて、
ルールの方はドメインオブジェクトに記述するのはどうだろ。
問題はS2DAOでとってきたEntityに他との関連をインジェクト
しないといけないとこだな。
373:330
04/10/07 00:27:49
あ、ソースコードトレースがしにくいってのは、メタデータ使う
フレームワーク全般に言える事ね。オブジェクト指向レベル
どうこうというよりは、頭の中の回路を頻繁に切り替えるのが
おっくう。該当箇所探索もフレームワークのメタデータ特有の
探索方法に特化した知識や支援手段が必要になるのがウザイ。
だいたい、インピーダンスミスマッチがないレイヤーで、
別言語(?)によるコンフィギュレーション使う必然性って
あるんかいな。
テスターは再ビルド権限がないとか、SIerには再ビルド許さん
けど自由度は与えたいとか、そういう運用的理由なら、
わからんでもないが。
というわけで、DIコン使うならPico/HiveMind派(しょーもない着眼点だな、おい)。
374:デフォルトの名無しさん
04/10/07 00:33:41
・言葉がダサイ
「ダイコン」「くーす」「から騒ぎ」ちょと恥ずかしい。
・オタくさい
から騒ぎの後、アニソンカラオケ大会。きしょい。
375:デフォルトの名無しさん
04/10/07 00:48:22
Web層 フレームワーク固有のオブジェクト
↑
DTO
↓
ビジネスロジック層 DTO or ドメインオブジェクト
↑
ドメインオブジェクト
↓
ビジネスルール層 ドメインオブジェクト
↑
ドメインオブジェクト
↓
データアクセス層
こんな感じか。
376:デフォルトの名無しさん
04/10/07 00:51:41
戻り値にDIするインターセプタかな。
377:デフォルトの名無しさん
04/10/07 01:12:22
>372
スマン、ここでのビジネスルールの粒度がイマイチ判らなかった。
揚げ足取りじゃないんだけど、ビジネスって曖昧な伝わり方もするんで、
例えばで良いんで教えて貰えますか?
PicoもHiveMindもよく知らないんだけど、どんな手順でDIするのかな?
>373
S2と関係無くメタデータと上手く付きあわないかんのもしゃあないでしょう。
ひょっとすると、今後は基本設計レベルではメタデータ定義するだけってな
思想になるかもしれんし。実装のソースコード書く人と完全分業みたいなことにも。
>374
ベタベタなほうが伝わりやすいってのもあるしさ。
あ、あとブログ読むと、アニオタ臭いのはコミュニティのごくごく一部な気もする。
ちなみに、から騒ぎ→からさわぎ、な。
378:デフォルトの名無しさん
04/10/07 01:33:48
>>377
Picoについては
URLリンク(www.picocontainer.org)
この辺みとけ。お前に与えられた時間は2分間だ(意味が逆)
クソ長いメソッドが多いが、エイリアスで短い名前も用意されてる。
>>367
ブザマだよな(苦笑)。
サービス運用規模の見積もり失敗でつか。
まーボランティアでそれなりの環境用意するのは金かかるので
大変なのはわかるが、今年は2004年です。
379:デフォルトの名無しさん
04/10/07 01:38:17
>>377
思いつきなんで、はっきりとはしてないんだけど、例えば
・計算フィールドの導出
単純な計算ですむ場合もあるし、導出にStrategyパターンを使う場合もある。
・他エンティティとの関連
User.isMemberOf(Group)みたいなメソッドが欲しい。
ロジック層でisMember(Group, User)ってなるとヤだなって思う。
ビジネスロジックをアクティビティ図で表すとき、それぞれのアクティビティ状態
をルールって呼ぶような感じかな。
380:デフォルトの名無しさん
04/10/07 01:41:39
>>371
ソフトウェアの複雑性というのは、結局かわらないんじゃないかと思う。
単純に言えば、作るものが決まると、そのプロダクトのエントロピーの下限というのが決まるんではないかと。
そして、管理のしやすいソフトウェアというのは、エントロピーが低いソフトウェアだといえると思う。
フレームワークを使うというのは、エントロピーをフレームワークに押し付けて、コア部分のエントロピーを下げることになる。
ライブラリというのも、エントロピーをプロジェクトの外に追いやる手段だね。
あと、JavaのコードはBean定義ファイルに比べて情報量が多いから、コードを書かかずにBean定義を書くということはエントロピーを下げることにつながる。
そうやって、プロジェクトが管理する成果物のエントロピーを低い状態に保つというのが、すごくざっくり見たDI+AOPの効果ではないかな。
そういう意味では、無限の可能性をもつJavaコードを書く変わりに、数限られたXMLタグで同じことを実現する仕組みであれば、なんでもエントロピーが下げれていいんだよね。
XMLタグの表現力が上がると、それぞれのタグの情報量があがっていくから、またどこかにエントロピーを追いやる必要が出てくるわけだけど。
381:デフォルトの名無しさん
04/10/07 01:47:54
それを推し進めると、浅見たん提唱のXMLによる伝票指向アーキティクチャになるのか。
382:デフォルトの名無しさん
04/10/07 01:48:36
記述の選択肢が少ない、というのが肝ね。
383:デフォルトの名無しさん
04/10/07 01:55:40
S2はマンセーだけどくーすは疑問
DI(IoC)に関しては >380の言うエントロピーの軽減が目的ってことでFA。
どのコンテナがいいか。
SpringやPicoと比べると、設定の手軽さと機能の豊富さでS2が一番だと思う。
欲しい機能があったとき、Rod Johnsonにメール出すより、ひがさんのblog
にコメントする方が敷居が低いし、レスポンスも速い。
Springはクドい。
くーすは、今公開されているサンプルやトライアル程度では、実際のプロジェクト
になったときに上手くいくか判断しかねる。
本を執筆中ということだけど、付録CDに実装までのサンプルでもあればいいのだが。
今までの開発手法(ユースケース駆動とか)も、本では上手く言ってるけど、
実際大変じゃんってことで、くーすを考案中なんだし、くーすも同じ轍を踏まない
とも限らんすね。
384:デフォルトの名無しさん
04/10/07 02:29:30
おれはDIコンテナってのは、ファクトリを自前でがりがり書く代わりにコンテナに
お願いできる(ファクトリ機能の外出し)ってことで理解してる。
それ以外の部分(Hibernate連携とか)はあくまでオプションだと思ってる。
くーすはよくわからん。資料がたりん....
385:デフォルトの名無しさん
04/10/07 02:53:44
くーすの内容をみずにレス
よくある開発手法は、一般的にやろうとしてたり、実装と独立しようとしてて、使えなくなってると思われ。
くーすの場合は、業務システムをSeasar使って作るという具合に、用途を限定しているから、変に一般化しようとしなければ問題ないんじゃなかろうか。
386:デフォルトの名無しさん
04/10/07 02:55:05
>>385
資料っていうか、資料へのリンクがない気がする。
たぶん、探せば資料はきっとある。
387:デフォルトの名無しさん
04/10/07 02:55:10
くーすは特にSeasar2に限定されるものではなかったような。
388:デフォルトの名無しさん
04/10/07 02:56:07
限定じゃなくて、前提だね。
389:デフォルトの名無しさん
04/10/07 03:04:20
ごめん、はてなの解説を「Diconを使ったときの・・・」と読み取ってしまってた。
あのへんのブログをぐるぐる回ったけど、くーす自体にはたどり着けなかった。
390:デフォルトの名無しさん
04/10/07 03:06:06
もうこういうの飽きた
391:デフォルトの名無しさん
04/10/07 03:07:58
っていうか、くーすってどこにあるの?
392:371
04/10/07 03:10:42
>>380
大筋で同意。うまく言葉にできなかったことを、シンプルな言葉でまとめてくれてありがと。
オブジェクト指向はデータとアルゴリズムをバインドさせることで、エントロピーを低減させた
と考えることができるが(C++普及前夜に、関数ポインタを構造体に持たせたコードが増えたのが
なつかしいな)、そういう視点でのブレイクスルーがあるの?ということを
言いたかった。
自由度が小さい記述方法を使うことで局所的なエントロピーは下がると思うが、
全体的にはどうなんだろ。フレームワークと、その根底に流れる思想を理解するための
情報量の扱い、という意味で。
「くーす」という哲学を理解というか納得した者同士は、下げられるって
ことなんだろうな、たぶん。
393:デフォルトの名無しさん
04/10/07 03:25:19
>>391
弟子による「くーす」教本
URLリンク(marrow.strnet.com)
ひが尊師やその弟子たちによる教えへのポインタ
URLリンク(www.wikiroom.com)
「ダイコン時代5秒前」くらいまでは読んでみてから、
拾い読みするといいかも。少なくとも修羅場突破用
割り切り基準としては優れている。
394:デフォルトの名無しさん
04/10/07 03:32:03
クレクレ君ばっかだね
395:デフォルトの名無しさん
04/10/07 03:36:29
>>393
ありがと。
396:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/07 10:26:57
>>367
鯖提供者募集中だそうです。
399:デフォルトの名無しさん
04/10/07 11:07:16
しかし、こういうリフレクション全開のしくみが定着すると、いままで語られてた
「型安全性」だとか「コンパイルによる事前検証」のメリットってどうよ?と思わないでもない。
400:デフォルトの名無しさん
04/10/07 14:10:56
>>399
大いにそう思う。
いままでだと、型の安全性ってのは基本的にコンパイラが
あるていどの保証(とはいってもぴんきりだが)を
してくれていたわけだが、そういった部分に頼れないと
いうことだからね。
401:デフォルトの名無しさん
04/10/07 16:46:22
強い型付けはJavaのウリでもあるけども、オブジェクト指向的な利点を
徹底利用しにくいところもあったね。たとえばListnerを使ったコールバック的な
委譲モデルでも、おれはListnerインターフェイスをimplementsするんじゃなくて、
モデル側にMethodオブジェクトを渡してやるほうがなんぼかましじゃないかと
思ったりもするし。
たとえばThreadにRunnableオブジェクトを渡すんじゃなくて、実行して
ほしいMethodを渡して、Thread側ではinvoke()するとかのほうがもっとフレキシ
ブルなんじゃないかと。Runnableをimplementsする必要すらなくなるし。
こういう、型なんて関係ない、メソッドがあればいい、という使い方は本来、
オブジェクト指向ならではだったわけで。
DIコンテナの場合、利用側ではインターフェイスをもとにしたプログラミングを
行なうわけで、型安全性も十分保証できてると思うし。
402:デフォルトの名無しさん
04/10/07 17:14:14
キャストごりごりのコードになるよね?
403:デフォルトの名無しさん
04/10/07 17:28:17
>>401
C#のデリゲート、MSがJavaの仕様に入れようと提案したら
Sunに断られたそうで。
404:デフォルトの名無しさん
04/10/07 17:29:09
そうだな、DIコンテナ使うとキャストは増える。Object型返すしなあ。
たしかにそこでの型安全性は低くなってると思う。Cast例外って
実行時例外だったよなあ。
405:デフォルトの名無しさん
04/10/07 17:39:34
キャストは増えない。setter使えば勝手に入れてくれるから
406:デフォルトの名無しさん
04/10/07 18:37:15
最初の入り口さえどうにかすれば、あとは大丈夫という感じだね。
そういえば。
オブジェクトの遅延生成ができるともっといいね。
遅延というか、オンデマンド。
getXxx使ったときに生成されるような。
じゃないとイモヅル式にオブジェクトが生成されてしまう。
できるんだっけ?
407:デフォルトの名無しさん
04/10/07 19:26:43
>>405
いやコンテナ内のオブジェクトはいいんだよ。増えるところは
S2の例:
Hello hello = (Hello) container.getComponent(Hello.class);
この部分ね。まあ対した問題じゃないんだけどね。文法上
cast失敗を気にする必要もないだろうし。
408:デフォルトの名無しさん
04/10/07 19:58:36
使うとわかるけどcontainerの外でcontainerを使う方が珍しいと思う
409:sage
04/10/07 20:27:27
まー依存性注入するところでcontainer使うんだから、
奇麗に設計できている場合はそうね。
410:デフォルトの名無しさん
04/10/07 20:43:38
インスタンスがいもづる式に生成されまくるという問題ってないの?
411:デフォルトの名無しさん
04/10/07 20:57:04
インスタンスはcontainerが保持しているから問題なし
412:デフォルトの名無しさん
04/10/07 21:15:04
そのメモリはどこから出てくるの?
413:デフォルトの名無しさん
04/10/07 21:24:48
>>380はエントロピーって言葉に何か間違ったイメージを持ってるな
414:デフォルトの名無しさん
04/10/07 21:34:59
>410
基本はSingletonだ
415:デフォルトの名無しさん
04/10/07 21:36:14
ソフトウェアにおけるエントロピーの定義を教えてくれませんか?
416:デフォルトの名無しさん
04/10/07 22:09:49
>>414
そうすると、ソフトウェア中で必要なオブジェクトがすべて生成されてしまうことにならないかな。
417:デフォルトの名無しさん
04/10/07 22:13:33
>>415
これぐらいは自力で調べる癖をつけようね。
URLリンク(ja.wikipedia.org)
これの「情報理論におけるエントロピー」のところにある。
> ある確率分布 p(x) をもつ確率変数 X が与えられたとき、
>
> H(X) = -Σ_{x∈X}{p(x)log(p(x))}
>
>この量 H を 確率変数 X のエントロピー という。
418:デフォルトの名無しさん
04/10/07 22:20:41
>>413
その言葉のもつ本来の意味を知らず、また、知ろうともせず、
単に語感やニュアンスだけでカッコいい言葉を使ってみる、
というのはどこに行ってもありがちだけどね。
>>380の言わんとしていることは分かったけど。
419:デフォルトの名無しさん
04/10/07 22:23:27
>>415
ソフトウェアにおけるもなにも、エントロピーは情報量の平均だよ。
整理されてなく、どこになにがあるかわからないソフトウェアはエントロピーが高い。
Javaのコードは選択肢が多いから、一行の情報量が多い。
対して、SeasarやSpringなどのBean定義ファイルは選択肢が少ないので情報量が少ない。
また、規模の大きいソフトウェアも、行ごとの情報量が大きくなる。
系が閉じているときのエントロピーの総和は一定なので、どこかのエントロピーを下げようと思うとどこかにエントロピーを押し付ける必要がある。
整理してどこになにがあるか推測しやすい状態で、選択肢の少ないコーディング技術を使って、コード量を少なくすると、エントロピーが低くなる。
作成するソフトウェアのエントロピーを下げようと思えば、ライブラリやフレームワークを使うことのほかに、開発管理がある。
管理された成果物のエントロピーは低いけど、管理作業自体のエントロピーが高いから。
420:415
04/10/07 22:35:34
>>417,419
ありがとうございました。勉強になりました。
421:デフォルトの名無しさん
04/10/07 22:58:07
くーすを実案件に適用した例ってあるのかな?
422:デフォルトの名無しさん
04/10/07 23:05:47
いまオフショア開発でやってるんじゃなかったっけ?
423:デフォルトの名無しさん
04/10/07 23:08:14
>>420
-log(p(x))っていうのが情報量ね。確率の対数。で、エントロピーは情報量の平均(期待値)
424:デフォルトの名無しさん
04/10/07 23:17:48
×確率の対数
○確率の逆数の対数
文法のルールが多いほどコードのエントロピーは低くなる。
だから、Javaのコードは型の緩い言語よりエントロピーが低くなるんだね。
そのかわり、文法を勉強するためのエントロピーが高くなる。
425:デフォルトの名無しさん
04/10/08 01:13:25
>>416
すべて生成したとしてもデータを持たないオブジェクトという前提ならそれほど問題ないのでは?
426:デフォルトの名無しさん
04/10/08 01:15:39
>416
ソフトウェア中で必要なすべてじゃなくて、DIContainerに登録されているものすべて。
prototypeとouterを除く。
なんでもかんでもDIContainerに登録するわけじゃないよ。
多分416が思ってるほど多くはない。
427:デフォルトの名無しさん
04/10/08 01:23:41
JFrameとかを登録する方針にしたら、えらいことなりそうだけど。
428:デフォルトの名無しさん
04/10/08 01:35:41
VBとかDelphiで起動時に全フォームクリエイトしておいて
使うときにはShow()するような感じ?
Delphiでちゃんとしたアプリ作るときはちゃんと生成・消滅を管理するけど(VBはシラネ)、
429:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/08 09:14:31
>>430
じゃエントロピーってなに?
434:デフォルトの名無しさん
04/10/08 09:45:49
>>417の定義のままだと思うのだが。
435:デフォルトの名無しさん
04/10/08 09:51:35
>>433
俺≠430だけど、こんな感じじゃない。
持ちうるデータのバリエーションの許容量⇒情報量
それの系全体(平均)⇒エントロピー
あるいは、バリエーションの許容量ではなく
絶対量そのものを指す人も多いかも。
どちらにせよ、Wikipediaのと違いはないと思う。
436:433
04/10/08 10:00:18
>>435
実は、情報量と書いてる部分も、エントロピーと書くべきだった気がする。
情報量っていうのは、たとえばJavaコードを1行取り出したときに
S2Container container = S2ContainerFactory.create(PATH);
だったときにどれだけ意外性があるか、という、それぞれの事象に対する量だからね。
437:デフォルトの名無しさん
04/10/08 10:06:07
>>431
こういう、足りない点を指摘するやつをバカにする方が、スレを荒らしてるわけだが。
こうやって評判落とすようなマネするのって、ヒガさんに実は恨みがあるから?
438:デフォルトの名無しさん
04/10/08 10:55:14
>>432
そりゃいるだろ。2chだからな。
439:デフォルトの名無しさん
04/10/08 10:57:34
>>437
恨みはないかもしれないが
妬みややっかみを持っている
ヤシはいるんだろうな。
440:デフォルトの名無しさん
04/10/08 10:58:46
>>438
羽生さんもいるくらいだからな。
441:デフォルトの名無しさん
04/10/08 11:00:56
>>439
で、ひがさんを擁護するフリをして、Seasar2は敷居が高い、とか、欠点に対する指摘を受け付けない、とかそういう逆宣伝をしてるわけか。
442:デフォルトの名無しさん
04/10/08 11:03:29
>>440
羽生さんがいるところには常に粘着するわけか。
大変だな。羽生さんも追っかけもw
443:デフォルトの名無しさん
04/10/08 11:04:03
恨みを買ってもしょうがないようなところあるからな。
人の話を遮って自分だけ延々と喋るし。
たいていは人の話に耳を貸さないくせにそれは相手によるし。
嫌いなやつは多いだろう。
444:デフォルトの名無しさん
04/10/08 11:07:09
>>443
まあそういう話はスレ違いってことで。
呼び出しくらうよ。
445:デフォルトの名無しさん
04/10/08 11:08:04
>>443
何だオマエ知り合いなのか。
本人に直接言ってやれよw
446:デフォルトの名無しさん
04/10/08 11:12:59
直接言えないから粘着してるんだよw
447:デフォルトの名無しさん
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:デフォルトの名無しさん
04/10/08 12:38:41
>>449
話をさえぎられて自分の出番を取られてしまった人じゃないの?
451:デフォルトの名無しさん
04/10/08 15:00:40
やられたらやりかえせw
452:デフォルトの名無しさん
04/10/08 15:17:48
>分からん奴らにはメソッドの仕様だけ渡して、
>その部分だけ他に影響を与えずに作らせることができるという
ちゃんと詳細設計ができてれば普通のOOPどころか構造化設計でもそうです。
ドキュメントがどうとかは(俺は言ってないけど)せっかく匿名で本音を吐いてくれてるのに
それを粘着呼ばわりする被害妄想は止めて欲しい
453:デフォルトの名無しさん
04/10/08 15:37:25
DIだと、影響を与えないための労力が少ない、ってことじゃね?
454:デフォルトの名無しさん
04/10/08 16:37:56
枠組みとして用意されているのでいろんなスキルの人がまざっても
平準化しやすい、という事なら納得できるけど。
というか詳細なインターフェース設計をしてからじゃないと実装始められないよ、
ということか。それはいいかも。でも実装し始めてから設計ミスを直すのが
めんどくさそうな肝汁
strutsがMVCモデルを強制してもActionにビジネスロジック書く奴がいて、
結局ちゃんとOOAしないとMVCのメリットがでない
↓
ちゃんとOOA出来る人がいたらstrutsの仕組み必要ない
(設定ファイルの手間が増えるし。taglibは便利だけど)
みたいな事にはならないのかな?全然Seasarの話じゃなくて申し訳ないが
455:デフォルトの名無しさん
04/10/08 17:04:12
DIというか、クラス名やらメソッド名を外部設定ファイルに埋め込むと、リファクタリング機能が効かないから不便かも。
strutsのMVCはアプリケーション全体でいえばVの中のローカルなMVCだからしかたないね。
456:デフォルトの名無しさん
04/10/08 18:15:12
>>453
YES
>>454
だからくーすを作ったんじゃないかな
457:デフォルトの名無しさん
04/10/08 19:38:28
>>448
>使う人は、実装を外注しやすくなり、Springと比べてもテストや
>設定が格段に楽になります。
まじ参考までに教えて欲しいんですけど、Seaser2がSpringと比べて
テストや設定がしやすい部分ってどういうところなんでしょうか?
SpringとSeasar2の比較をいろいろ探したんですが、どれもいまいち
ピンと来ないもので。
458:デフォルトの名無しさん
04/10/08 21:32:42
>>452
人をうんこ呼ばわりしてあげつらったヤシが
いるんだから被害妄想もある程度仕方ない
と漏れは思う。ひが氏の日記が大人しくなって
しまったのが個人的には残念だ。
459:デフォルトの名無しさん
04/10/08 21:39:32
議論のアンチパターン ~不毛な議論を避けるために~
URLリンク(homepage1.nifty.com)
460:デフォルトの名無しさん
04/10/08 22:59:10
外注というと書かれるコードの中身は汚くてもいいという印象があってよくない
461:デフォルトの名無しさん
04/10/08 23:06:46
外注はよくないけど、とりあえずS2について言うと、
欲しい機能を(Javaでやるという前提であるならば)考えられうる限りできるだけシンプルに実装できるもので
割と好印象。
462:デフォルトの名無しさん
04/10/08 23:10:56
少なくともJ2EEを作った香具師より頭いいのは確かだ
463:デフォルトの名無しさん
04/10/08 23:13:14
先にinterfaceありきと考えると
仮にコードが汚くてもUnitテストさえ
クリアしていれば安心が得られると
いう利点があるかなと思うけどどうかな?
464:デフォルトの名無しさん
04/10/08 23:18:59
>>463
テストをするのは当然で
汚いのはリファクタリングの原則に反するのでよくない
465:デフォルトの名無しさん
04/10/08 23:22:32
もちろんそうなんだけど
外注に出して汚いコード
だったとしてもまだ安心度が
保てるように思うんだが
466:デフォルトの名無しさん
04/10/08 23:27:35
設計は変わるもんだ。外注にやるとプログラマからのフィードバックが得られない。
S2は外注向けと考えるならそれは間違い。もともとソフトウェア開発はそういうものじゃない。
467:デフォルトの名無しさん
04/10/08 23:38:23
ほんとはみんなデスマが好きなのさ。
どっぷりとデスマに浸かることで、
自分は仕事をしているんだ!
という満足感が得られるからなのさ。
さらに、デスマを解消したり
回避する方法を考えるのは
もっと好きなのさ。
なんでかというと、
自分はこんなすごいことをやったんだ!
という優越感が得られるからなのさ。
Seasarってのはそうやって生まれたの。
468:デフォルトの名無しさん
04/10/08 23:39:03
外注に出さないプロジェクトって、小さなプロジェクトか小さな会社くらいでは?
469:デフォルトの名無しさん
04/10/08 23:45:27
>464
汚いのはリファクタリングの原則に反する、ってのはどういう意味?
リファクタリングの対象になる、ならわかるけど。
ついでにいうとユニットテスト通ってるならリファクタリングも気楽にできるね。
470:デフォルトの名無しさん
04/10/08 23:45:59
>>468
S2の話とはもう違うだろ。
外注に出すところのコスト構造って本当に酷いよ。
471:デフォルトの名無しさん
04/10/08 23:49:42
DI 使うとデバッガ使えないの? テストうんぬんではなく、
ステップ実行とかできないの?
472:デフォルトの名無しさん
04/10/09 00:02:32
>>467
おかげでデスマにならずに済むなら漏れはありがたい。
>>471
S2のコードも全部放り込んでおけばいいんじゃない?
473:デフォルトの名無しさん
04/10/09 01:51:38
>>472
デスマはなくならないよ。
まず>>467でいう満足感と優越感がなくなっちゃうからね。
それに、新たな方法論を導入して解決するのは
「今までのステージにおけるデスマ」であり、
「次のステージにおけるデスマ」が控えているんだよ。
デスマあってのSeasarであり、
デスマある限りSeasatは進化し続け、
そしていつまで立ってもデスマはなくならない。
しかし、これがみんなの幸せにつながる。
474:デフォルトの名無しさん
04/10/09 02:18:01
>デスマあってのSeasarであり、
( ゚д゚)
(つд⊂)ゴシゴシ
(;゚д゚)
(つд⊂)ゴシゴシ
_, ._
(;゚ Д゚) …?!
'`,、'`,、('∀`) '`,、'`,、
475:デフォルトの名無しさん
04/10/09 02:58:52
>> 457
設定ファイルやテストコードを書くためのタイプ量がS2の方が少ない。
DIを使うと、これらの煩雑さが問題となってくる。
476:デフォルトの名無しさん
04/10/09 07:44:22
>471
DIは問題ない。初期化より後は普通だから。
でもAOPを使うとデバッガで追えない。
バイトコードいじってるやつ全般に言えることだけどね。
477:デフォルトの名無しさん
04/10/09 08:49:04
>>476
AOPを使っても追えるよ。
意味不明なクラスに行くけどそこもトレース実行すればその後は問題なかった。
478:デフォルトの名無しさん
04/10/09 14:05:50
>>476
デバッガで追えないのは、AspectJ。
S2は普通に追える。
479:デフォルトの名無しさん
04/10/09 15:42:43
>>462
J2EEっていうかEJB?
後だしじゃんけんだからなぁ。
DynamicProxyのおかげの部分もあるし。
480:デフォルトの名無しさん
04/10/09 16:24:41
>>479
S2はDynamicProxyは使ってないけどね。
cglibでバイトコードいじっているから同じようなものだけど。
481:デフォルトの名無しさん
04/10/09 16:54:24
・・・そうなんだね。
cglibのページの「Open source projects use cglib」に載ってないのが寂しいけど。
482:デフォルトの名無しさん
04/10/09 23:49:20
バイトコード操作してる地点で実案件に使えるのかなぁ。。
とても使わせてもらえなそうだが。。
483:デフォルトの名無しさん
04/10/10 01:01:18
オイオイ、どういう判断基準なんだ?
といことはcglib使ってるモノはすべてだめなんだね。
HibernateとかSpringとかも。
484:デフォルトの名無しさん
04/10/10 01:37:22
>>483
コンテナ部分は使ってないぞ。Spring。readme.txtに書いてある。
なので、AOPやDAO機能を捨てれば非バイトコード操作なDIコンテナとしては使える。
あと、PicoContainerも非バイトコード操作なDIコンテナだよね。
>>482
なので、あくまでもDIコンテナが使いたいならS2以外の選択もある。
AOPを利用したい時にはS2のほうが簡単だと思うけどね。
485:デフォルトの名無しさん
04/10/10 01:45:20
AOPなければ、意味がかなり減るんだけども。
SpringのAOP定義はめっさめんどり。
486:デフォルトの名無しさん
04/10/10 04:53:02
>>403
偉いなMS。蚊帳の外でもコミットしようとするなんて。
これだけ見るとSUNだめだな。
空のインプリメソッドがゴミのようにある俺のソース…。何とかしてくれ。
487:デフォルトの名無しさん
04/10/10 05:05:49
いろいろ考えたんだけどさ、EJBとかDIコンテナとか
やっぱりなんかくだらない気がしてきた。
アプリケーション毎に必要な機能って違うじゃんか。
(負荷分散・クラスタリング・動的再配置・トランザクション・必要になるパフォーマンス、とかいろいろ)
シンプルな実装をアプリケーション毎に作ったほうが、ムリヤリ共通して使える実装を探さなくてもいい。
488:デフォルトの名無しさん
04/10/10 05:07:32
シンプルに構造を分割する考え方(~層、とかいろいろ)の話を延々としているほうがいいと思うよ。
実装はアプリケーション毎に行こう。
489:デフォルトの名無しさん
04/10/10 05:15:47
>>455
リファクタをキジムナに期待age
490:デフォルトの名無しさん
04/10/10 05:23:48
>>487
それはアプリ毎に必要な機能じゃなくシステムの構成・設定。
487の言う「いろいろ」こそ共通して使える実装部分じゃろ。
491:489
04/10/10 05:56:56
>>330
> ところで、S2が正しくinjectionしてくれるかどうかの
> テストはどう書けば?(汗)
キジムナ使へば下に出るぞ。singletonだけかもしれんが。
それをキャプチャしたのをテスト結果とすると良いかも。
>>399
>>400
キジムナ使え。事前検証バリバリだぞ。
>>作者
コード補完機能キボソ
492:デフォルトの名無しさん
04/10/10 08:16:10
>>487
だから、アプリケーションごとに違う非機能要件をAOPを
使って処理するんじゃん。
493:デフォルトの名無しさん
04/10/10 08:30:30
>>486
俺もMSの態度は偉いと思う。
片思いなのがこれまた哀愁がただよってて
ヘンに共感してみたり。いやそりゃヨタだけども。
でもコーディング量が増えても
インターフェイスという考え方で統一したいって
気持ちもちょっと判るんだよねー。
494:デフォルトの名無しさん
04/10/10 08:36:10
>>490
トランザクションの基盤なんて単純なものならほんの数行のコードで実装できるし、
動的再配置するためのライブラリ(ちょっとしたネームサービス)あればいい
クラスタリングや負荷分散となると、それはアプリケーション毎にかなり違うもんだと思う
あんまり仰々しいフレームワークを用意されても、結局複雑にしてしまうだけではなかろうか
495:デフォルトの名無しさん
04/10/10 09:05:12
>>487
そんなこといったらJDBCもいらんってことにならんか?
何を持ってシンプルな実装というかだな。
496:デフォルトの名無しさん
04/10/10 09:41:42
>>494
ぎょうぎょうしいフレームワークって何。
S2はシンプルだと思うけど。
POJOが基本で、コアはDIとAOPの機能だけ。
コア以外の機能もいろいろあるけど、
使えるものは使えばいいし、無理に使わず自前で実装しても良い。
ただ、クラスタリングや負荷分散を自前で実装するやつは、
よっぽどのツワモノだと思う。
497:デフォルトの名無しさん
04/10/10 10:39:55
>>487
EJBはくだらないが、DIはくだらなくないよ。
アプリケーション毎に、というより、アプリケーション内で必要な機能をアプリケーション内で共通して使うためにDI+AOPが有効だと思われ。
498:482
04/10/10 12:58:13
>483
SpringもHibernateもDynamicProxyで代用できませんでしたっけ?
#フル機能使えなくてもさ
DIコンテナってテストが簡単とか、複雑じゃないとか利点ばっか挙げられてるが,
商用EJBコンテナが提供するような分散・スケールアウト手法は確立されているの?
499:デフォルトの名無しさん
04/10/10 13:02:41
>496
毎回毎回自分で実装できるような奴ならいらんのでしょ。
負荷分散・クラスタリング・動的再配置・トランザクションをシンプルな実装で
アプリケーションごとにバグ少なく作成できるような凄い人はうちの周りには
いないけどね。
500:デフォルトの名無しさん
04/10/10 13:10:21
>>499
負荷分散・クラスタリングって、パフォーマンスとの兼ね合いでいろいろ調整いるだろうから、
自分で実装っていうのが基本では。
それを補助く小さなライブラリ(タプルスペース扱うやつは便利だ)があれば満足。
501:デフォルトの名無しさん
04/10/10 13:18:19
>>500
スーパーな人発見。
釣りじゃないならすごいね。
そういうのは、アプリケーションサーバか負荷分散装置だとかに
任せるものだと思っていたよ。
502:デフォルトの名無しさん
04/10/10 13:21:07
まぁ、EJBとかに比べると仰々しくは無いのだけど、
Lightweightなプログラミング言語を使っているとどうしても大げさに感じてしまうのよね。
503:デフォルトの名無しさん
04/10/10 13:24:26
>>500
バイトコードいじくるものより、自分で組んだ負荷分散やらクラスタリングのほうがあてにならんなぁ。
トランザクションも、基盤は数行でも、いろいろなところに埋め込まれて、そっちの方があてにならんなぁ。
504:デフォルトの名無しさん
04/10/10 13:27:27
Lightweightなプログラム言語使ってる人って、ライブラリやフレームワークを勉強して数行でまとめて書けるコードを、頭使わず勉強せず数十行あっちこっちに書くほうが手軽だと思いがちだよねぇ。
505:デフォルトの名無しさん
04/10/10 13:31:12
>>501
貧乏人は自分で作るんですよ。多分。
506:デフォルトの名無しさん
04/10/10 13:32:18
スケールアウト、負荷分散いらないんじゃそもそもEJB使ってねえぞ。
これらの機能提供しないのに,EJBの代替物と歌われてもねぇ、、、
507:デフォルトの名無しさん
04/10/10 13:33:55
>>505
作っているものによると思うけどね。
一体どういうものを想定している?
HTML文章返すだけのウェブサーバとネットワークゲームのサーバではそりゃ負荷分散の手法は違ってくる
508:デフォルトの名無しさん
04/10/10 13:40:01
基本的に業務システム以外は対象外だからねぇ。
509:デフォルトの名無しさん
04/10/10 13:40:48
というか、ネットワークゲームのサーバーでEJBがどうのこうのいうほうが間違ってる。
510:デフォルトの名無しさん
04/10/10 14:26:38
>>509
そこはそれ、アプリ層のインプリだけ構造を統一するためにEJBの
スタイルを借りて、サーバー部分は最適化したものを自作、デスよ。
…ほんまかいな。
511:デフォルトの名無しさん
04/10/10 14:38:02
ネ申?
512:デフォルトの名無しさん
04/10/10 14:40:51
自イ乍ネ申
513:デフォルトの名無しさん
04/10/10 14:48:56
どの層で分散がいるかなんて、これはアプリケーション毎に違うでしょ?
どでかいコールセンターで検索したい人が多いなら単にデータベースを大量に水平に並べればよい。
核爆発シミュレーション計算の分散も基本的にはコンピュータ並べるが、自作率は後者のほうが多くなるだろうな。
514:デフォルトの名無しさん
04/10/10 15:03:27
>506
EJBの代替物とは謳ってないんじゃない?
J2EEの機能を使いやすくする、でしょ。
J2EE=EJBだと思ってるなら間違い。
ついでに言うとまだ発展途上なのに「全部無いなら使わん」とかいうならご自由に。
使いたいとこ、使えるとこだけ使えばいいんだ。
あとは自作なり他製品と組み合わせるなり。
515:デフォルトの名無しさん
04/10/10 15:06:12
語尾に「なり」をつけるやつは嫌いだ。
516:デフォルトの名無しさん
04/10/10 15:07:29
>>513
とりあえず対象となってない分野をもってきて、使えないとかわめくのって、悲しいね。
517:デフォルトの名無しさん
04/10/10 15:13:06
>>506
いつからEJBの主目的が負荷分散になったんだ?
518:デフォルトの名無しさん
04/10/10 15:14:39
EJBの代替物にもなってないしねぇ。
519:デフォルトの名無しさん
04/10/10 15:16:13
いや、当初から主要な目的の一つではあったが…。
負荷分散しないのにEJB使っても今ひとつ甘みが無い。
520:デフォルトの名無しさん
04/10/10 15:16:25
>>516
クラスタリング・負荷分散に共通して使える対象なんてありえないってことを示す例
521:デフォルトの名無しさん
04/10/10 15:18:24
業務システムに絞れば、共通して使えるしくみはあるんだけども。
で、とりあえずS2が話題にしてるのは業務システムなんだけども。
522:デフォルトの名無しさん
04/10/10 15:20:57
S2に限らずDIな連中が言ってるのは
EJBを使うのは大袈裟なシステムが
世の中には多いんだから別の手を
使おうぜってことでしょ。EJBが必要な
人はそっちを選べばいい。
523:デフォルトの名無しさん
04/10/10 15:21:36
まずは軽快なJavaを読めということでFAだな
524:デフォルトの名無しさん
04/10/10 21:28:23
それは負荷分散をしないって手?
525:デフォルトの名無しさん
04/10/10 21:35:31
負荷分散なんて、DBやアプリケーションサーバーにまかせればいいから、プログラムでは考えなくていい。
いくつかの注意点はあるけども。
526:デフォルトの名無しさん
04/10/10 22:39:39
APサーバに任せるメジャーな手段が、EJ(r
527:デフォルトの名無しさん
04/10/10 22:58:32
つか、なんかどーでもよいことに話がいってない?
負荷分散やらクラスタリングなんかDIコンテナで解決する問題じゃないし。
(てか、んなことまでサポートしだしたらLightweightなコンテナじゃなくなるじゃん)
もう少しS2自体の話があるとうれしいのだけど。
528:デフォルトの名無しさん
04/10/10 23:11:40
>>520
フレームワーク外の作りこみ一切禁止なんて縛りがあるわけでもないのに、
なぜそこで完璧を目指す必要があるのか理解できない。
パレート原則で言う8割の側を押さえるだけで十分では?
529:デフォルトの名無しさん
04/10/10 23:23:01
しってる難しそうな言葉をならべて賢くなった気になる遊びですた。
530:デフォルトの名無しさん
04/10/10 23:53:24
>>529
理解できない会話に無理に加わる必要はないよ、坊や。
531:デフォルトの名無しさん
04/10/10 23:56:29
2chだな~
532:デフォルトの名無しさん
04/10/11 01:57:15
>>527
> 負荷分散やらクラスタリングなんかDIコンテナで解決する問題じゃないし。
だってDIコンテナの作者らがEJBイラネって言ってんだもん。
533:デフォルトの名無しさん
04/10/11 02:28:34
J2EEを使った業務システムで、そこまで必要なシステムって多くないし
その程度のシステムでEJBはイラナイだろ。
534:デフォルトの名無しさん
04/10/11 03:05:48
>532
DIコンテナの長所挙げるとき散々*EJB*と比較して、
難しいとか、テストが大変とかEJBの短点ばかり挙げるのにな(w
535:デフォルトの名無しさん
04/10/11 04:37:42
遡ると、なぜJavaを選択するのかという話にならないか
短いコードで表現力の高いプラットフォームなら他にあるだろうに
536:デフォルトの名無しさん
04/10/11 07:14:54
>>532
負荷分散やクラスタリングは、ロードバランサや
HttpSessionでやった方が良い。
EJBでやるよりよっぽど実績がある。
537:デフォルトの名無しさん
04/10/11 07:38:11
>>536
HTTPって、それは単にウェブサーバの負荷を分散ではなかろうか。
素人なんだけど、業務アプリの場合、データベースのバックアップも兼ねた
クラスタリングが重要になるのでは?
538:デフォルトの名無しさん
04/10/11 08:13:38
>>537
C-JDBC使えば?
539:デフォルトの名無しさん
04/10/11 08:24:57
>>537
業務ロジックは、Servletコンテナと同一VMで動かすのが
パフォーマンス的には良い。
スケーラビリティがなんて言うやついるけど、
業務ロジックよりもWebの部分が先にボトルネックになる
ケースの方が多い。
データベースへの接続も負荷分散装置使えるよ。
EJBコンテナで負荷分散やクラスタリングしているシステムなんて
ほとんど見たことないけど。
540:デフォルトの名無しさん
04/10/11 09:05:44
>>539
いや、しかし、世間的にはどうか知らんが、
漏れの経験では業務アプリでウェブベースなほうがむしろ稀だった。
ウェブベースなのは補助的な用途の場合が多い。
そういうときって、やはりクラスタ機能ある常駐プログラム
作る必要あるわけで、それはJavaで作るならばejbかdiコンテナか選択するんだろうな。
業務アプリに必要なのって、サービスを管理するライブラリだよね。
インストールはコマンド一発。
DHCPでIP振られたら自動的にデータベース起動して、アプリサーバ起動して、
クライアント探して・・・ っていうのを自動でできるようにしなきゃいけない。
(でないと導入コスト高いんだ)
541:デフォルトの名無しさん
04/10/11 09:37:23
>>540
S2の用途は539の言うとおりだと思う。
S2が自分の用途に向かないなら他を探すのが良いと思う。
542:デフォルトの名無しさん
04/10/11 10:28:32
今のトレンドはStatelessだよな。EJBを使うにしてもだよ。
ということは負荷分散をEJBコンテナがやらなければならない
ケースは少ないといえるんじゃないのか。しかもHTTPだろ。
俺ならロードバランサを前に挟むけどな。
543:デフォルトの名無しさん
04/10/11 10:30:16
>>537
そういう場合は、DBの機能を使うよ普通。
OracleならRACとかな。EJB使うほうが当てにならん。
544:デフォルトの名無しさん
04/10/11 10:38:24
>>532
実際要らないシステムが多いだろ。デプロイが楽だからWeb使うだけで
大したトランザクション量じゃないシステムも多いよ。
>>534
そりゃそうだろ。DI自体がEJBに対するアンチテーゼだからな。
インコンテナのテストなんて面倒だろうに。
当のEJBだってPOJOに方向転換じゃないか。
EJB*だけ*がスケーラビリティ確保の手段だと本当に思ってるのか?
PHPで大規模やってる連中だっているだろ。そいつらが
どうやって負荷分散やフェールオーバを実現しているのかを見れば
EJBのレイヤーでなくてもやれることがいっぱいあるのはわかるだろ。
頭が固いか不勉強か単なる言いがかりかのどれかに見えちゃうぞ。
545:デフォルトの名無しさん
04/10/11 10:49:08
>>534
EJBの長所が負荷分散だというなら
それはEJBでなくても他に汎用的で
実績のある代替手段を使えばそれで
済むんだからEJBイラネってことになるな。
EJBのテストが面倒なのは事実。
性能が出なくて変なテクニックばかり
横行するO/RマッピングもHibernateや
S2Daoのほうが便利で性能がいい。
EJB-QLなんて何の意味がある?
EJBの長所は何があるんだ?
DIがなくてもEJBにはウンザリしてるよ。
546:デフォルトの名無しさん
04/10/11 10:50:42
EJB擁護派はこちらで論破してきてください。
EJBは終わってる
スレリンク(tech板)l50
547:デフォルトの名無しさん
04/10/11 12:42:54
>>537
フェールオーバとロードバランスは別だよ。
でもってどっちもDIとかEJBとか関係なく
考えるべきものだから。クラスタリングは
EJBの専売特許ではない。
548:デフォルトの名無しさん
04/10/11 13:41:47
>540
「DIコンテナ」部分だけ使うなら、他を自作しても邪魔にはならないよ。
S2開発者が主軸に考えてるのがWebだってだけ。
周辺プロダクトはそれに合ったものからでてくるけど、別に必須ってわけじゃない。
業務機能と非業務機能を全部自作するにしても、DIコンテナで管理できると楽だ。
549:デフォルトの名無しさん
04/10/11 14:05:45
>>540
なんか、もっとすっきりできる気がするが・・・
550:デフォルトの名無しさん
04/10/11 14:52:49
diconファイルはシンプルだけど、それでもいろいろ書き間違える。
Kijimunaがないとやってられない。
Kijimunaってどれくらい使われてるんだろう。
SpringIDE(?)と比べるとどう?
551:デフォルトの名無しさん
04/10/11 15:02:57
>>550
「どれくらい使われているか」より「どれくらい使いやすいか」の方が大事
552:デフォルトの名無しさん
04/10/11 15:22:36
>>551
最新バージョンは使いやすいよ。
何が自動インジェクションされているかも分かるし、
コンポーネントの定義からソースにも飛べる。
553:デフォルトの名無しさん
04/10/12 01:45:36
Strutsでページ遷移の単体テストにS2Struts使うと楽になりますかねぇ?
554:デフォルトの名無しさん
04/10/12 07:30:29
>>553
なるよ。
555:デフォルトの名無しさん
04/10/12 21:58:53
JBossで座絶したんだけどこれ結構使える?
556:デフォルトの名無しさん
04/10/12 22:14:53
ちょっとずつ始めれるので、挫折しにくいよ。
557:デフォルトの名無しさん
04/10/13 00:04:53
何に挫折したのかを書くと世話焼きが相手をしてくれるぞ
Servletで挫折したならそれはJBossのせいじゃないからな。
558:デフォルトの名無しさん
04/10/13 02:59:31
インストールで挫折しますた。
559:デフォルトの名無しさん
04/10/13 03:04:47
ダウンロードに挫折しますた。
560:デフォルトの名無しさん
04/10/13 10:51:27
はぶにっき、訳分からん。突然切れチョル。
日記だからっちゅうても、雑誌に「S2はblog駆動」とか書いてるん
だから、何について言ってるんかハッキリするか、非公開にするか
せんと。
自分、さんざん内向きにアピールしちょるやないけ。
ひが氏が2chの戯言にまで耳を貸して、開発やドキュメント整備に
尽力しとるのを、足ひっぱっとりゃせんか?
車やコンピュータや家電だけが産業と違うじゃろ。
ハードウェア屋がコスト削る部分なんざ、ソフトでいえばコンパイル部分よ。
ここがこれ以上ないぐらい最適化されとるんやし、全品オーダーメイド
で、掛かる費用ほぼ人件費な状態を、車と一緒に考えられんわい。
「客に向け」「この業界に先はない」っちゅうんは至極まっとうだと思うが。
URLリンク(d.hatena.ne.jp)
561:デフォルトの名無しさん
04/10/13 10:53:23
メインフレーム時代からコストどれだけ下がったか。
562:デフォルトの名無しさん
04/10/13 10:59:26
>>560
あれは基本的に経営側の人間であって開発側の人間ではないのよ。
だから、経営の視点で開発の人間を判断して、当人としては歯がゆい思いを感じているんだろう。
といって、偉そうなこと言う割にはべつに経営で成功しているわけではないあたり、
文句たれている相手と同じ程度の人間であることをさらしてしまってるのだが、
それに気付いていない無知の無知がちょっとイタい。
563:デフォルトの名無しさん
04/10/13 11:16:17
>> 562
人格はどうでもいい。
564:デフォルトの名無しさん
04/10/13 11:27:28
つうか、はぶ氏個人の評価はスレ違い。
565:デフォルトの名無しさん
04/10/13 11:40:43
「経営側に回れるだけレベルは上」と考えてるんだろう、ある意味間違ってないが
566:デフォルトの名無しさん
04/10/13 12:00:24
>>560
URLリンク(capsctrl.que.jp)
ここへのコメントの続きじゃないの?
ここの人、若いんだけど、いっつも歯に衣着せぬ物言いなんで
(あ、若いからか)、いっつも微笑ましく読んでたんだけど
さすがはぶたんですなー、容赦せんもん。
上記サイトの人、今会計の仕訳の勉強とかしてるみたいで、
そういう勉強中の人に「DOAなんて否定的な表現」うんぬん言われると、
むちゃくちゃ厚い債権債務帳票とか出したり、
やったらきっつくて頭の切れる、出禁とかすぐ口に出すお客さんと
仕事した事あるのかなあ、と思ってたので、
ちょっとだけ溜飲が下がったよ。
はぶたん徹底して「顧客」って言わないね。お客様、と言う。
ちょっと気持ち悪くは感じたけど、プロなんだなとは思った。
567:デフォルトの名無しさん
04/10/13 12:38:18
まあなんつーか、たまに余人に見えないモノが見えてるヒトではあらぁね、
ソレが天才だからなのかデムパ受信してるのかはむろん余人に分かろうハズは無く…
ナニが言いたいかつーともーすこし他人の目を意識して書いてくださいと
>金持ちに寄生して搾取してるだけじゃん。狭い世界の中で偉そうにしてるだけですよ。
>OOもDOAも構造化も全員そうだよ。コバンザメでしかないよ。世界中が腐ってる!
568:デフォルトの名無しさん
04/10/13 13:02:47
コメント化って空のコメントがあるだけなんだけど
なんか書いてあったの?
569:デフォルトの名無しさん
04/10/13 13:14:31
相変わらず個人ネタか。
570:デフォルトの名無しさん
04/10/13 13:39:38
でも、お客にとっちゃOO分析だろうがER分析だろうが
知った事ではないだろうってのは、
くーすのよってたつ所なのではないかなあと思った。
だから本がどんなんなるか楽しみな訳で。
前に、見積もりの提示の仕方についても盛り込んでくれたらなーって
ここに書いたんだけど、それも上記が理由。
571:デフォルトの名無しさん
04/10/13 14:24:45
> 方法論がエンジニアにとって癒しにしかなってないじゃん、って思うんですよ。そりゃね、
> みんな賢いからさ、そういう人間が集まって膝突き合わしてそういうやり取りしてれば、
> 自分だけじゃない、って思えるしそりゃ楽しいでしょう。
> 別にS2でなければならない、ってこともないんですよ。EJBでも構わない。
> PHPでもRubyでもいいんですよ。
> 幾ら優れたことをやっても、根本的に「で?」としかならない。自分が一顧客として金を
> 出すとしたら、って考えると、欲しいのはそんな裏方の話じゃないっしょ。
これまた正論だが、日記でよく言うね。だが、あんたが自分でも気づかないフリしてる
心境は 「確かに S2 は良いかもしれない。ひがが目立つのはうれしいが、俺のほうが
できる人間なのにが影に隠れてるのはくやしい。」 だろ。
だいたい、客に伝わらんのはあんたの営業能力不足だろ w
古い言葉で言えば「バカの壁」だな。規模が違う話して悪いが、例えば IBM の研究所の
人間でもあんたは 「方法論ばかり言ってないで少しは経営のことを考えろ」 って言うか?
類稀な経営手腕を持ってんだったら、開発者に対してやる気なくすこと言わずに
気持ちよく駒として動かすことに専念すれば? くーすマンセーとか言ってやれば
ドーパミン全開で土木作業してくれるよ w
多少、建設的なネタを。ひが君 「cglib 遅せーから Javassist 使う」 とか言ってないで
直接 ASM 使えよ。まー、バイトコードライブラリ作者は使う側のスキルはアテにしてないと
思うけどな。
性能: ASM > Javassist(初心者向け) > cglib(初心者向けASMラッパー)
> BCEL > SERP
572:デフォルトの名無しさん
04/10/13 14:56:42
日記への反応は日記に書けば?あっちでも匿名で書けるんでしょ?
573:デフォルトの名無しさん
04/10/13 14:58:46
もしくーすがOOAなのかER分析なのかしったこっちゃないというなら俺は興味ないな。
システムの狭い世界での話であっても、OOAと構造化には明らかな壁があるのに
OOPLを導入してもその壁をうまく越えられてない人が結構いる。
くーすでクラス図もなしにバウンダリを基準に設計する(と読めたけど違う?)ものなら
壁を越えられない人たち向けには良い指針になるかもしれない。
前に使ったある外注は顧客クラスがあるにもかかわらず、
パスワード変更クラスとメールアドレス変更クラスをつくりやがった。
OOAでの1クラスが、複数のバウンダリに登場するのでバウンダリ基準はいくないと思う。
あと顧客が納得できるモノは画面イメージだけっていうのには諸手を挙げて賛同するけど、
顧客が仕様変更したがるのも画面なわけで、「やっぱり確認画面をいれたい」みたいな
変更要望に強くするためには、その後ろにあるクラス設計がいかに業務にマッチしているかが
重要になってくると思うんだけどお前らはどう思い松か?
574:デフォルトの名無しさん
04/10/13 15:37:37
別にさあ、日記に何かいてようがいいじゃん。
少なくとも、ここでどうこういう話じゃない。
プロダクトやプロモーションに関わることなら別として。
また呼び出しくらうよ?
575:570
04/10/13 15:37:50
>>573
「くーすが知ったこっちゃない」んじゃなくて、
くーすは「お客さんはそんなこと知ったこっちゃない」って
前提で考えられてるんじゃないかなーって
思ったの。
後半の、「顧客が納得できるモノは画面イメージだけって
いうのには諸手を挙げて賛同するけど」と同じでっす。
ちょっと言葉足らずでしたかすんません。
576:デフォルトの名無しさん
04/10/13 16:09:04
>「お客さんはそんなこと知ったこっちゃない」って前提で
なるほど。そうかも
その他の部分はひが氏の日記を拾い読みした記憶から勝手に脳内保管して
書いているので、見当違いだったらごめん、っていうか指摘してくだちい
577:デフォルトの名無しさん
04/10/13 19:01:57
しかしみんないろんな日記よく読んでるねえ。
みんななんだかんだいってもS2が気になってしょうがないんだね。
578:570
04/10/13 19:24:45
>>577
まさにそのとおり。からさわぎいくどー。
579:デフォルトの名無しさん
04/10/13 21:03:02
S2ってさ、ひがさん一人で開発してるんだよね?
開発者として、複数の人が参加して、互いにCheck&確認していった方が、
もっと、いい方向になると思うんだけどなぁ...
一人で開発してると...どうも、一人よがりになりそうで...
580:デフォルトの名無しさん
04/10/13 21:09:02
>>579
あれってオープンソースでやってて、独りで作っているわけじゃないでしょ?
S2Xxxって感じで他の人もやってたような…。
581:デフォルトの名無しさん
04/10/13 21:33:58
うちなーんちゅ記念カキコ
582:デフォルトの名無しさん
04/10/13 23:19:53
>> 580
コアな部分は全部1人でやってるよ。
583:デフォルトの名無しさん
04/10/13 23:43:03
S2Dao使うにはMySQLは不向きだな。
584:デフォルトの名無しさん
04/10/14 00:05:05
>>579
オープンソースの大半は最初はそんなもんじゃないの?使う人が増えて
パイが大きくなったらコントリビューターも増えるでしょ。
つかそうならないと増えないような
585:デフォルトの名無しさん
04/10/14 00:07:17
コアな部分はだいたいどんなプロダクトでもひとりでやってるもんじゃない?
コアとはいえ、全体からすれば一部分なんだし。
586:デフォルトの名無しさん
04/10/14 06:56:40
>>573
> パスワード変更クラスとメールアドレス変更クラスをつくりやがった
これの何が悪いのか。
これが適切な場合だって(むしろそのほうが)多いだろ。
587:デフォルトの名無しさん
04/10/14 06:57:10
顧客クラスにパスワード変更メソッド付けるなんてアフォとしか漏れには思えん
588:デフォルトの名無しさん
04/10/14 07:22:10
ケース倍ケースじゃん。
573のシチュエーションだと変に見えただけじゃないの?
589:デフォルトの名無しさん
04/10/14 16:25:45
顧客クラスというからには
cust.load();
cust.setPassword(pass);
cust.update();
とするだけで更新できるので、わざわざ別クラスつくる意味がまったくわからん。
顧客クラスにパスワードのバリデーションメソッドを追加するだけでいいのに。
わざわざパスワード変更用のクラスをつくってバリデーションと更新メソッドを
つくる意味を教えてくれないか?さらにメールアドレス変更クラスは
これにそっくりで、バリデーションの内容がちょっと違う(".@"が使える)のと
更新メソッドのsqlがちょびっと違うだけ。クラスの見通しも機能拡張への対応も
顧客クラスにまとめた方がはるかにいいじゃん。
是非俺にも納得できるように説明して欲しい
590:デフォルトの名無しさん
04/10/14 16:36:32
誰でも自由にクラスを作れて、
どんなクラスでもDBに自由にアクセスできて、
DBが間違いなく更新される以上なにも問題が起きない、
という無法状態を放置しているのがそもそもの間違い。
591:570
04/10/14 17:11:30
>>589
データと振る舞いをカプセル化するという方向は
実は間違いなんじゃないかという考えもあるんですよ。
エンティティは純粋にデータとしてとらえる。
意味がないわけではないと思いますよ。
ただそれもシステム全体の規模やルールとの兼ね合いも
あると思うので、杓子定規に当てはめるのもなあとも思う。
この場合は、印象のみだけど、ちょっと煩雑かなー。
592:デフォルトの名無しさん
04/10/14 17:54:51
>無法状態を放置しているのがそもそもの間違い。
まあそりゃそうなんだが。
>データと振る舞いをカプセル化するという方向は
実は間違いなんじゃないか
ちなみに今ウチでは顧客クラスでDataAccess顧客クラスを参照して
daoCustomer.setData(this);
dao.update(connection);
みたいな感じでDAだけ分離する方向です。小規模だとやらないけどね。Connection
渡すのは複数のDAにまたがってトランザクション管理するためね。S2DAOとか
使えば楽になるのかなあと思って興味を持ってるわけだけど。
で、パスワード変更やメールアドレス変更のために別クラスをつくって
似たような処理をいろんなクラスに書きまくった方が良いケースってのは
どんな場合よ?画面単位なので名前・住所・電話番号等の変更クラスは
一つにまとまってるんだろうけど。
「これらの画面を一つにまとめたい」とか「メールアドレスに対して
パスワードを送付する機能をつけたい」とかの仕様変更に対応するには
顧客クラスが汎用的に(といってもこのシステム内で、だけど)顧客情報を
管理できるクラスであることが重要じゃない?顧客検索みたいに顧客クラスの
インスタンスを複数扱う機能には、別に顧客検索クラスをつくるけどさ。