インターフェースクラスやら設定やら増えまくって
かなりめんどくなってんだけどw
探検
【Java】DIコンテナって本当に便利か?
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
2008/08/20(水) 23:23:262008/08/31(日) 23:57:13
AOPによるログ出力はブレークポイントつけてステップ実行が当たり前に
なった今存在意義が薄いし、ソースの骨格が自動生成でこみいったとこだけ
手で実装なので、むしろうまく行っているところはトレースログとりたくないし。
トランザクションは昔から使ってるDBコネクションプールがThreadLocalで
好きなとこでstart()/commit()させてくれるのでこれをService内に
明示的に書いてある方が問題があったときにどこでcommit()/rollback()
されてるかわかりやすいと思うんだけど、もう俺の考えが古いのかなあ。
デバッグ担当する人間が全員springのxmlの仕様を知っていないと
「どこでコミットされているかすぐに把握できない」のはめんどくない?
ずっと少数精鋭主義のプロジェクトでやっていけるなら別だけど
なった今存在意義が薄いし、ソースの骨格が自動生成でこみいったとこだけ
手で実装なので、むしろうまく行っているところはトレースログとりたくないし。
トランザクションは昔から使ってるDBコネクションプールがThreadLocalで
好きなとこでstart()/commit()させてくれるのでこれをService内に
明示的に書いてある方が問題があったときにどこでcommit()/rollback()
されてるかわかりやすいと思うんだけど、もう俺の考えが古いのかなあ。
デバッグ担当する人間が全員springのxmlの仕様を知っていないと
「どこでコミットされているかすぐに把握できない」のはめんどくない?
ずっと少数精鋭主義のプロジェクトでやっていけるなら別だけど
2008/09/01(月) 00:04:32
自己レスだけど
>bean idとクラス名結びつけるファクトリは枯れたxml読み込み
>クラスを利用して1クラスで完結してるんですわ。
結局DIしてるわけだからこのスレとは違っちゃうか
>bean idとクラス名結びつけるファクトリは枯れたxml読み込み
>クラスを利用して1クラスで完結してるんですわ。
結局DIしてるわけだからこのスレとは違っちゃうか
2008/09/01(月) 00:29:30
>>63
それでうまくプロジェクトが回ってるならそれでいいと思う。
教育コストはDIがどうこうよりも、
テストファーストがどうこう、
ステートレスがなんやら、
疎結合だとあれこれ・・の説明に苦心しない?
「ふーん、面倒なんですね」の一言で片づけられた日には悲しくなったよ。
で、今日もまたテストケース書かないコードをコミットしやがる・・・
それでうまくプロジェクトが回ってるならそれでいいと思う。
教育コストはDIがどうこうよりも、
テストファーストがどうこう、
ステートレスがなんやら、
疎結合だとあれこれ・・の説明に苦心しない?
「ふーん、面倒なんですね」の一言で片づけられた日には悲しくなったよ。
で、今日もまたテストケース書かないコードをコミットしやがる・・・
2008/09/01(月) 00:40:51
>AOPによるログ出力
俺もこれは例示のための例示にしか過ぎないと思う。
通常、AOPはメソッド境界で作用するけど
このレベルで横断的にログ取りたいものなんて殆どないし。
メソッド内部の動作で不審な動きがないかチェックしたいとは思うけど、
取得したい情報なんて処理ごとに異なるし、そもそもAOPでは制御不能。
AOP使う話であれば、トランザクションと認証回りが適切な例だと思う。
>少数精鋭主義のプロジェクトでやっていけるなら
別に精鋭じゃなくても設定くらい読めるから。
トランザクションが何か分かってるなら、書き方・読み方教えて終了。
いろんな場所でトランザクションの開始・終了が出来れば
きっと効率が良いのだろうけど、少数精鋭ならともかく
現実の開発でそれやるとロクなことにならんですよ。
好き勝手に開始して放置して、もうグダグダ。
多分、今まで少数精鋭でやってきて、そういう事態に陥らなかったんだと思う。
俺もこれは例示のための例示にしか過ぎないと思う。
通常、AOPはメソッド境界で作用するけど
このレベルで横断的にログ取りたいものなんて殆どないし。
メソッド内部の動作で不審な動きがないかチェックしたいとは思うけど、
取得したい情報なんて処理ごとに異なるし、そもそもAOPでは制御不能。
AOP使う話であれば、トランザクションと認証回りが適切な例だと思う。
>少数精鋭主義のプロジェクトでやっていけるなら
別に精鋭じゃなくても設定くらい読めるから。
トランザクションが何か分かってるなら、書き方・読み方教えて終了。
いろんな場所でトランザクションの開始・終了が出来れば
きっと効率が良いのだろうけど、少数精鋭ならともかく
現実の開発でそれやるとロクなことにならんですよ。
好き勝手に開始して放置して、もうグダグダ。
多分、今まで少数精鋭でやってきて、そういう事態に陥らなかったんだと思う。
2008/09/01(月) 01:09:29
正直テストファーストはどうかなあと思ってる。
昔みたいにウォーターフォールで仕様変更したら別料金とりますよっていうなら
いいけど、仕様が変わる度にテストケースも保守していくのは
常に詳細設計ドキュメントを保守し続ける位面倒。んで最後にまとめて
作ろうと思って納期迫ってカバレッジ低いテストケース書いてるから
それも駄目なんだけどね。
AOPは結局ログくらいしか思いつかなかったんだよね。Webばっかりだから
認証はそれこそBaseActionかInterceptor(struts2)で入り口でやってあげれば
済むし。
springだけを教えてるなら設定くらいすぐ覚えるだろうけど、
プロジェクト参加当初は業務もプログラムも教えることいっぱいだし、
問題があったときにデバッガで追ってればすぐわかる方がいいと思うけどなあ。
トランザクションの開始・終了はServiceクラス内の同一メソッドでとルールで
縛ってるので、というかdaoも自動生成で複数テーブルに対するトランザクション
管理をしたいと思ったらこれしか書きようが無いんだ
try{
DBManager.startTransaction();
dao1.insert(obj1);
dao2.insert(obj2);
DBManager.commit();
}catch(...){
DBManager.rollback();
}
daoが自動生成なせいで、複雑なDBも処理もdaoに書いて
serviceから呼び出す、daoでトランザクション管理しない
っていうのが徹底されてるのが効いてるのかな。
昔みたいにウォーターフォールで仕様変更したら別料金とりますよっていうなら
いいけど、仕様が変わる度にテストケースも保守していくのは
常に詳細設計ドキュメントを保守し続ける位面倒。んで最後にまとめて
作ろうと思って納期迫ってカバレッジ低いテストケース書いてるから
それも駄目なんだけどね。
AOPは結局ログくらいしか思いつかなかったんだよね。Webばっかりだから
認証はそれこそBaseActionかInterceptor(struts2)で入り口でやってあげれば
済むし。
springだけを教えてるなら設定くらいすぐ覚えるだろうけど、
プロジェクト参加当初は業務もプログラムも教えることいっぱいだし、
問題があったときにデバッガで追ってればすぐわかる方がいいと思うけどなあ。
トランザクションの開始・終了はServiceクラス内の同一メソッドでとルールで
縛ってるので、というかdaoも自動生成で複数テーブルに対するトランザクション
管理をしたいと思ったらこれしか書きようが無いんだ
try{
DBManager.startTransaction();
dao1.insert(obj1);
dao2.insert(obj2);
DBManager.commit();
}catch(...){
DBManager.rollback();
}
daoが自動生成なせいで、複雑なDBも処理もdaoに書いて
serviceから呼び出す、daoでトランザクション管理しない
っていうのが徹底されてるのが効いてるのかな。
2008/09/01(月) 09:45:29
横道にそれるけど、なんか同情したのでいきなりレス。
>>66
Unitテストが義務化されていないからだな。
これはかなり大変。「テストを楽にする」は
意外に動機として大きいから。
仕様書が明確に落ちて無いと末端の子に
テストファーストは難しいけど、デグレードを
未然に防ぐ為のテストセカンド(造語)くらいから
やるのはどうだろう。
自分のコードにバグが無いことの証明だから
ホントはやってて当たり前なんだけど。
>>66
Unitテストが義務化されていないからだな。
これはかなり大変。「テストを楽にする」は
意外に動機として大きいから。
仕様書が明確に落ちて無いと末端の子に
テストファーストは難しいけど、デグレードを
未然に防ぐ為のテストセカンド(造語)くらいから
やるのはどうだろう。
自分のコードにバグが無いことの証明だから
ホントはやってて当たり前なんだけど。
7069
2008/09/01(月) 09:47:40 続き。
疎結合は再利用性。
「ほら、別のプロジェクトでも簡単に使いまわし
できただろ?」
って言える例を作ってやれればどうにか。
ようは教える側がメリットを示すのが良いと思う
(デグレードが減る。使いまわしが楽など)。
ただし、教えられる側が
・時間内手を動かしてさえいれば金が貰える
・バグで人に迷惑をかけてもかまわない
そんな思想だと哲学から変えないとダメ。
疎結合は再利用性。
「ほら、別のプロジェクトでも簡単に使いまわし
できただろ?」
って言える例を作ってやれればどうにか。
ようは教える側がメリットを示すのが良いと思う
(デグレードが減る。使いまわしが楽など)。
ただし、教えられる側が
・時間内手を動かしてさえいれば金が貰える
・バグで人に迷惑をかけてもかまわない
そんな思想だと哲学から変えないとダメ。
2008/09/01(月) 10:06:33
いろいろ経験して
「newを直に書きたくない」
という思想にいたる事が出来れば
DIコンテナのメリットが説明しやすい。
結局ある程度抽象化の概念に
同意していない人には無用の長物かも。
「newを直に書きたくない」
という思想にいたる事が出来れば
DIコンテナのメリットが説明しやすい。
結局ある程度抽象化の概念に
同意していない人には無用の長物かも。
72デフォルトの名無しさん
2008/09/02(火) 00:22:1373デフォルトの名無しさん
2008/09/02(火) 00:29:44 個人的なDIの欠点はデバッガでなければソースを追えないって点だな。
interfaceベースで作ってたら、当たり前の現象なんだが、IDEのパワーをないがしろにしてる。
それでもDI自体は分業に向いてると思うし、俺は好きだ。
interfaceベースで作ってたら、当たり前の現象なんだが、IDEのパワーをないがしろにしてる。
それでもDI自体は分業に向いてると思うし、俺は好きだ。
2008/09/02(火) 01:30:45
原理主義者はDIとかアスペクト好きなんだよ
もうほんと、それだけ
問題は、Javaがそもそも原理主義的なコーディングに不向きなことと
現実世界(特にビジネスまわり)がちっとも原理主義に根差してないことが原因で、
DIから得られる現実的なメリットが、ほとんど実感できないくらい
小さくなってしまっていること
もうほんと、それだけ
問題は、Javaがそもそも原理主義的なコーディングに不向きなことと
現実世界(特にビジネスまわり)がちっとも原理主義に根差してないことが原因で、
DIから得られる現実的なメリットが、ほとんど実感できないくらい
小さくなってしまっていること
2008/09/02(火) 01:59:43
現実世界も整理すればそれなりにスッキリしてるんだが
現実を現実のまま処理しようとして
ステートフルな世界に走ろうとして失敗してる人が多数居る。
ところで原理主義って何?
現実を現実のまま処理しようとして
ステートフルな世界に走ろうとして失敗してる人が多数居る。
ところで原理主義って何?
76デフォルトの名無しさん
2008/09/02(火) 03:03:42 ジャヴァはブルーカラーからのラングエジじゃなかったか?
2008/09/02(火) 03:40:53
DIはログとかトランザクションの管理に便利。
共有リソースの管理に便利。
共有リソースの管理に便利。
2008/09/02(火) 04:39:25
なんと言う後付けユーティリティ
2008/09/02(火) 04:53:57
なにか問題でも?
逆に、共有リソースの管理がスタティック変数でまかなえる場合や、ログ・トランザクションをそこまで徹底しない場合は、DIコンテナ不要。
逆に、共有リソースの管理がスタティック変数でまかなえる場合や、ログ・トランザクションをそこまで徹底しない場合は、DIコンテナ不要。
2008/09/02(火) 04:54:48
ログ・トランザクションは徹底というか、単純なルールが適用できる場合にDIが有効か。
8169
2008/09/02(火) 09:21:142008/09/02(火) 09:30:42
>>73
同じ事がインターフェースを
たくさん使ったソースコード(非DI)を
新人さんが読んでいる時に起こっていた。
あるメソッドが呼ばれているはずなんだけど
呼び元にEclipseで飛んでもインターフェース
にしか辿り着けないという形。
力技でもどうにかできるようにしたければ
インターフェース使わずに書くのも良いと思う。
どこで切るのかの問題かもしれないけど。
同じ事がインターフェースを
たくさん使ったソースコード(非DI)を
新人さんが読んでいる時に起こっていた。
あるメソッドが呼ばれているはずなんだけど
呼び元にEclipseで飛んでもインターフェース
にしか辿り着けないという形。
力技でもどうにかできるようにしたければ
インターフェース使わずに書くのも良いと思う。
どこで切るのかの問題かもしれないけど。
83デフォルトの名無しさん
2008/09/02(火) 12:15:15 つctrl+t
俺もDIは好かんけど
eclipseもまともに使えないヤツには無理
俺もDIは好かんけど
eclipseもまともに使えないヤツには無理
2008/09/02(火) 16:36:26
なんですとぉ!?
85デフォルトの名無しさん
2008/09/02(火) 23:56:13 POJOってどうよ。アレを実現するための設定も
面倒に感じるんだが。
面倒に感じるんだが。
2008/09/03(水) 00:43:13
2008/09/03(水) 01:11:41
トランザクションのネストってどんなケース?
外側トランザクションの中に内トランザクションがいくつかあるの?
内トランザクション1がコミット成功して内トランザクション2で
失敗したらどうなるの?
外側トランザクションの中に内トランザクションがいくつかあるの?
内トランザクション1がコミット成功して内トランザクション2で
失敗したらどうなるの?
2008/09/03(水) 01:32:12
内1のトランザクション状態を内2で引き継いで
内2で失敗した時点で内1もひっくるめてロールバックされる。
コミットが行われるのは外のトランザクションが成功した時。
内2で失敗した時点で内1もひっくるめてロールバックされる。
コミットが行われるのは外のトランザクションが成功した時。
2008/09/03(水) 01:37:24
外側で宣言してれば内側のコミットは無視されて、
内1だけ呼びたい時は内1のコミットをアテにして、
内1、内2って呼びたいときは内1の中に書いてあるトランザクション処理を
無視できるから楽ってこと?
内1だけ呼びたい時は内1のコミットをアテにして、
内1、内2って呼びたいときは内1の中に書いてあるトランザクション処理を
無視できるから楽ってこと?
2008/09/03(水) 22:57:52
>>85
POJO と abstract class タイプフレームワークの綱引きがあって、
睡眠不足で寝ぼけてると、見当違いのところに abstract class タイプのフレームワークを適応しちゃったりする。
使い分けは、きっちりやりたいね。
ちゃんと睡眠とって、すっきり脳味噌で POJO を書こう。
今大人気だから覚えといて損はないよ
POJO と abstract class タイプフレームワークの綱引きがあって、
睡眠不足で寝ぼけてると、見当違いのところに abstract class タイプのフレームワークを適応しちゃったりする。
使い分けは、きっちりやりたいね。
ちゃんと睡眠とって、すっきり脳味噌で POJO を書こう。
今大人気だから覚えといて損はないよ
91デフォルトの名無しさん
2008/09/04(木) 00:20:52 POJOはフレームワークに依存、
StrutsクラスはStrutsに依存。
おまえらバカなんじゃね?
StrutsクラスはStrutsに依存。
おまえらバカなんじゃね?
2008/09/04(木) 00:35:08
意味不明
2008/09/04(木) 00:38:06
>>91
依存してるかどうかじゃなくて依存をコントロールできることが重要なのに、何言ってんだおまえは。
依存してるかどうかじゃなくて依存をコントロールできることが重要なのに、何言ってんだおまえは。
2008/09/04(木) 00:46:32
たかが Bean Builder に御大層な名前が付いただけ。
2008/09/04(木) 01:57:13
長くこの業界にいて思うこと。
構造化プログラミングの時だってごく少数の優秀な人は
わかりやすくて綺麗な構造化をしていた。OOPの時代になっても
優秀な人の割合は変わってない。凡人がソースを書くときの
汚さが、構造化の時よりちょっとマシになっただけ。
でもその恩恵はインターネットの普及により情報が得やすく
なったせいかもしれない。
構造化プログラミングの時だってごく少数の優秀な人は
わかりやすくて綺麗な構造化をしていた。OOPの時代になっても
優秀な人の割合は変わってない。凡人がソースを書くときの
汚さが、構造化の時よりちょっとマシになっただけ。
でもその恩恵はインターネットの普及により情報が得やすく
なったせいかもしれない。
2008/09/04(木) 02:20:31
根幹部分は自分で書いて、ビジネスロジックだけ構造化OOP使いに書かせるから問題なし。
DIなら上流PGの実装が間に合わない時はDAOの具体実装をダミーにしとくとか調整も出来るよ。
DIなら上流PGの実装が間に合わない時はDAOの具体実装をダミーにしとくとか調整も出来るよ。
2008/09/04(木) 03:18:44
2008/09/04(木) 05:21:34
>なぜ考えないのか。
なぜそんな上から目線なのか
どこからどこまでを同じトランザクションにまとめないといけないのか、
は本質的な処理だろ。マーチンファウラーの提唱するような薄いサービス層の
ポリシーを守っていれば、トランザクション管理をxmlに置くのか
Serviceメソッド内に置くのかの違いでしかない。トランザクションの
範囲を確認するのに設定ファイルを別に開くよりは見やすい。
注文と残高を同時更新する場合と、残高だけを更新する場合で
Serviceを分けなくても良い(前者の場合でも残高だけ更新Serviceを呼び出しても
よい)というのは確かにメリットだと思う。
なぜそんな上から目線なのか
どこからどこまでを同じトランザクションにまとめないといけないのか、
は本質的な処理だろ。マーチンファウラーの提唱するような薄いサービス層の
ポリシーを守っていれば、トランザクション管理をxmlに置くのか
Serviceメソッド内に置くのかの違いでしかない。トランザクションの
範囲を確認するのに設定ファイルを別に開くよりは見やすい。
注文と残高を同時更新する場合と、残高だけを更新する場合で
Serviceを分けなくても良い(前者の場合でも残高だけ更新Serviceを呼び出しても
よい)というのは確かにメリットだと思う。
2008/09/04(木) 11:32:30
今はネットで回答だけ得られるからね。
昔は本とか読むしかなかったから、いきなり答えが得られることは少なかった。
だからどうしても書いてあることを理解して自分で応用する必要があった。
昔は本とか読むしかなかったから、いきなり答えが得られることは少なかった。
だからどうしても書いてあることを理解して自分で応用する必要があった。
100デフォルトの名無しさん
2008/09/04(木) 15:02:30 宣言的トランザクションは実装としてAOPを利用しているけど、
特定のメソッドから特定のメソッドの間でトランザクションを定義することは
横断的な情報、つまりAOPじゃないよね
特定のメソッドから特定のメソッドの間でトランザクションを定義することは
横断的な情報、つまりAOPじゃないよね
101デフォルトの名無しさん
2008/09/04(木) 15:53:23 うんそう思う。
ただしトランザクションをどう実装するかはコードの本質ではない。
ただしトランザクションをどう実装するかはコードの本質ではない。
102デフォルトの名無しさん
2008/09/05(金) 01:27:42 どこからどこまでをトランザクションの範囲にするかってことが
必ずしも本質的な処理とは思えないんだが・・・
むしろ「モデルの状態を元あった状態に戻す」ためのひとつの実装パターンに
すぎないのでは?
必ずしも本質的な処理とは思えないんだが・・・
むしろ「モデルの状態を元あった状態に戻す」ためのひとつの実装パターンに
すぎないのでは?
103デフォルトの名無しさん
2008/09/05(金) 10:31:45 そうじゃなくて、少なくともこのメソッドのスコープ内は
トランザクション処理しなきゃならないとかそういう話。
トランザクション処理しなきゃならないとかそういう話。
104デフォルトの名無しさん
2008/09/05(金) 23:02:14 >>103はだれにレスしてんだ?
105デフォルトの名無しさん
2008/09/06(土) 01:42:18 オライリーのインターフェイス指向設計を読み終えた。
わりと良書だったが、悲しいかなDIの話題はなかった。
(チラッと名前だけ出る程度。)
代わりにサービスをルックアップするコードが記述されていた。
今時どうかと思った。
わりと良書だったが、悲しいかなDIの話題はなかった。
(チラッと名前だけ出る程度。)
代わりにサービスをルックアップするコードが記述されていた。
今時どうかと思った。
106デフォルトの名無しさん
2008/09/06(土) 20:42:33107デフォルトの名無しさん
2008/09/06(土) 20:52:30108デフォルトの名無しさん
2008/09/06(土) 21:30:18 スターロジック?
聞いたことねえや
> OOPわかってない奴が書いたOOPっぽいコード
ああ、見てるとイラッと来る
自分も一度は通った道ではあるものの
聞いたことねえや
> OOPわかってない奴が書いたOOPっぽいコード
ああ、見てるとイラッと来る
自分も一度は通った道ではあるものの
109デフォルトの名無しさん
2008/09/07(日) 00:55:05 Struts知ってる俺がS2Strutsを触ったが全然動かない・・・
おまいらコレすっと動いた?
おまいらコレすっと動いた?
110デフォルトの名無しさん
2008/09/07(日) 02:25:30 激しくスレ違い
111デフォルトの名無しさん
2008/09/07(日) 11:46:30112デフォルトの名無しさん
2008/09/07(日) 21:13:24 >>109
ずっとうごいたけど
ずっとうごいたけど
113デフォルトの名無しさん
2008/09/14(日) 21:08:26 DIって、フレームワークを提供する側や、業務パッケージを作成する場合なんか
には有効かもだけど、1から作るような業務アプリではメリット感じない。
大体、1から作るような業務アプリという時点で泥くさいことやらなきゃいけない
ケースが多いし、インターフェースが有効なケースもあんましない。
(パッケージ使用しない時点で、客は泥くさい対応を求めてくる。)
1インターフェースで1パターンだったら、密結合でも疎結合でもどっちゃでもいいん
じゃない。影響極少だし。
まぁ設計力の問題かもしれない。業務アプリでうまく交通整理できた具体例なんかが
あれば、ほんと具体的に教えてほしい。
には有効かもだけど、1から作るような業務アプリではメリット感じない。
大体、1から作るような業務アプリという時点で泥くさいことやらなきゃいけない
ケースが多いし、インターフェースが有効なケースもあんましない。
(パッケージ使用しない時点で、客は泥くさい対応を求めてくる。)
1インターフェースで1パターンだったら、密結合でも疎結合でもどっちゃでもいいん
じゃない。影響極少だし。
まぁ設計力の問題かもしれない。業務アプリでうまく交通整理できた具体例なんかが
あれば、ほんと具体的に教えてほしい。
114デフォルトの名無しさん
2008/09/14(日) 21:11:59 >>113
その業務は未来永劫仕様が変らないの?
その業務は未来永劫仕様が変らないの?
115デフォルトの名無しさん
2008/09/14(日) 21:15:24 こんなわかりやすくて便利なもんがこの評価か・・・VBerを思いだす
116デフォルトの名無しさん
2008/09/14(日) 21:22:13 >>114
そんなことはない。ただ小変更の場合は実装クラス内の変更にとどまる
ことが多い。大きな変更の場合は、設計の根幹を揺るがすようなことが
ままある。実際客にとり、メリットあるのは、大きな変更のほうなん
だが、その場合は残念ながら、DIは無力だと思う。
そんなことはない。ただ小変更の場合は実装クラス内の変更にとどまる
ことが多い。大きな変更の場合は、設計の根幹を揺るがすようなことが
ままある。実際客にとり、メリットあるのは、大きな変更のほうなん
だが、その場合は残念ながら、DIは無力だと思う。
117デフォルトの名無しさん
2008/09/14(日) 21:44:38 正直AOPやDIがJavaの限界に思う。
下位互換にこだわりすぎる言語の宿命だよ。
明らかに無理し過ぎてる。
下位互換にこだわりすぎる言語の宿命だよ。
明らかに無理し過ぎてる。
118デフォルトの名無しさん
2008/09/14(日) 22:02:49 >>115
今はそういうのはPHPerが担ってるよ
今はそういうのはPHPerが担ってるよ
119デフォルトの名無しさん
2008/09/14(日) 23:04:57 一から作るならGuiceあたり使っておけばいい。
JavaEEはJSF+Faceletsを使って、WebBeansは出たら採用する。
正直SpringだのS2だのへの投資は無駄な投資。
JavaEEはJSF+Faceletsを使って、WebBeansは出たら採用する。
正直SpringだのS2だのへの投資は無駄な投資。
120デフォルトの名無しさん
2008/09/14(日) 23:22:56122デフォルトの名無しさん
2008/09/15(月) 15:50:28 業務自体の変更はDIの範疇じゃないと思うが、
業務の本体じゃない横断的な事象を切り出すには便利に使えると思うよ。
ただの道具として利用するレベルでも。
横断的関心事を業務の本体から切り離すってのはまあ、AOPの範疇かもしれんが。
業務の本体じゃない横断的な事象を切り出すには便利に使えると思うよ。
ただの道具として利用するレベルでも。
横断的関心事を業務の本体から切り離すってのはまあ、AOPの範疇かもしれんが。
123デフォルトの名無しさん
2008/09/15(月) 15:56:50 業務プログラムがテンプレートメソッドパターンに落とせないのであれば、
インタフェースベースの設計をする価値はないだろうね。
インタフェースベースの設計をする価値はないだろうね。
124デフォルトの名無しさん
2008/09/15(月) 18:19:23 ?
125デフォルトの名無しさん
2008/09/15(月) 18:23:01 なんらかの業務処理をプログラムに落とし込む必要があって、
それに対してインターフェイスを書かない状況ってのは、ちょっと分からないな。
そもそも、それって Java使う必要あんの?
LLの方が向いてない?
それに対してインターフェイスを書かない状況ってのは、ちょっと分からないな。
そもそも、それって Java使う必要あんの?
LLの方が向いてない?
126デフォルトの名無しさん
2008/09/15(月) 19:10:18 ソフトウェアカスタマイズなら割とある。
127デフォルトの名無しさん
2008/09/15(月) 22:05:04 そりゃ、〜〜業務を1メソッドや1クラスにだらだら書いているなら、
DIなんて何の意味もないだろうさ。
DIなんて何の意味もないだろうさ。
128デフォルトの名無しさん
2008/09/15(月) 22:53:41 何か頭の悪い誇張野郎が沸いてるな。
129デフォルトの名無しさん
2008/09/16(火) 00:12:09 AOPやDIで業務システム作ったけど大した恩恵は受けてない。画面や検索条件。業務ロジックの修正がほとんど。結局LLでやればよかったと思ってる
130デフォルトの名無しさん
2008/09/16(火) 02:18:19 >>129
本質的な部分の修正だけですむのはDIの恩恵を受けてるんじゃないか?
本質的な部分の修正だけですむのはDIの恩恵を受けてるんじゃないか?
131デフォルトの名無しさん
2008/09/16(火) 02:39:07132デフォルトの名無しさん
2008/09/16(火) 02:48:59133デフォルトの名無しさん
2008/09/16(火) 20:40:32134デフォルトの名無しさん
2008/09/16(火) 21:24:30 その「きちんと」を楽にするためにOO言語なりツールがあるわけで。
「楽したい」と考えないエンジニアは碌なもんじゃないと思うんです。
「楽したい」と考えないエンジニアは碌なもんじゃないと思うんです。
135デフォルトの名無しさん
2008/09/16(火) 23:27:14 別にDIとかAOPによって不可能だったことが可能になったわけじゃないんだから。
より楽な、より便利な使える道具ができたってだけのことだろう。
より楽な、より便利な使える道具ができたってだけのことだろう。
136デフォルトの名無しさん
2008/09/17(水) 01:14:46 本質以外のことはやりたくないからどんどん外に出した。
外出ししたオブジェクトをルックアップするコードを書くのも面倒になった。
何使うかだけ書いといて、あとは外から勝手に注入してもらえば楽くね?
これだけだぞ、DIコンテナの本質は。
これがどういう意味を持つか分かる人以外には
どれだけ触っても全くの時間の無駄だ。
外出ししたオブジェクトをルックアップするコードを書くのも面倒になった。
何使うかだけ書いといて、あとは外から勝手に注入してもらえば楽くね?
これだけだぞ、DIコンテナの本質は。
これがどういう意味を持つか分かる人以外には
どれだけ触っても全くの時間の無駄だ。
137デフォルトの名無しさん
2008/09/17(水) 01:45:51 楽くね?
くねくね?
くねくね?
138デフォルトの名無しさん
2008/09/17(水) 05:05:33 DIって普通はリンカが自動的にやってることを、手動で設定してるようなイメージ。
139デフォルトの名無しさん
2008/09/17(水) 12:32:29 退化
140デフォルトの名無しさん
2008/09/17(水) 12:41:16 DIで楽が出来るのはわかってる。学習コストとメリットを天秤にかけた時に
業務アプリで使うのはどうかって話だ。今のspring他の実装はまだ過渡期で、
5年後には設定方法やデファクトのDIツールすら変わってる可能性が
大いにある。Apache Torqueなんてまだ使ってるやついるか?
いたらゴメンね。でメインの開発者がとっくに退社してる場合、
今更Torqueなんてメンテし続けたくねーとか、Apache ECSなんて
jsp出てきた時点で終わってんだろ、とか思う訳じゃない。
それを繰り返したくない。ちょっとファクトリクラス書くのが
楽になる程度の使い方なら、後の人がすぐ追えるようにシンプルな
ファクトリを書いておいたいいんじゃないか、と悩んだ事は何度もある。
いい加減springなら平気だろと思って使ってるわけだけど
業務アプリで使うのはどうかって話だ。今のspring他の実装はまだ過渡期で、
5年後には設定方法やデファクトのDIツールすら変わってる可能性が
大いにある。Apache Torqueなんてまだ使ってるやついるか?
いたらゴメンね。でメインの開発者がとっくに退社してる場合、
今更Torqueなんてメンテし続けたくねーとか、Apache ECSなんて
jsp出てきた時点で終わってんだろ、とか思う訳じゃない。
それを繰り返したくない。ちょっとファクトリクラス書くのが
楽になる程度の使い方なら、後の人がすぐ追えるようにシンプルな
ファクトリを書いておいたいいんじゃないか、と悩んだ事は何度もある。
いい加減springなら平気だろと思って使ってるわけだけど
141デフォルトの名無しさん
2008/09/17(水) 14:07:48 Guiceくらい便利に使って欲しいところだけど、俺の周囲じゃ正直無理だと思った。
設計思想というものが前提的に存在しない層とはJavaは相容れないな。
設計思想というものが前提的に存在しない層とはJavaは相容れないな。
142デフォルトの名無しさん
2008/09/17(水) 14:34:53 開発者の質が悪いからってのも、本末転倒な話だな。
むしろ、低レベルな開発者を排除すべきだと思うんだが。
優秀な人間だけ集めると、開発ペースがメチャメチャ速くなるぞ。
無駄なドキュメントは作らなくてすむし、くだらないバグも仕込まれないし。
むしろ、低レベルな開発者を排除すべきだと思うんだが。
優秀な人間だけ集めると、開発ペースがメチャメチャ速くなるぞ。
無駄なドキュメントは作らなくてすむし、くだらないバグも仕込まれないし。
143デフォルトの名無しさん
2008/09/17(水) 14:37:24 そんなことが簡単に出来たら苦労はないわ
144デフォルトの名無しさん
2008/09/17(水) 14:53:38 100人月とかの開発をやったこと無いんだろう
145デフォルトの名無しさん
2008/09/17(水) 15:02:53 Guiceいいかもと思ってGuiceスレに行ったら泣けてきた。
あんまし使われとらんの?
あんまし使われとらんの?
146デフォルトの名無しさん
2008/09/17(水) 17:15:04 日本人が作ってないからヲチネタが少ないだけ
147デフォルトの名無しさん
2008/09/17(水) 21:51:04148デフォルトの名無しさん
2008/09/17(水) 22:22:50 開発ペースが速くなるのは良いが、人的リスクはどうなるのかね?
少数精鋭だと事故や病気で欠員が出ると途端に回らなくなるが。
後メンテナンスにも「優秀な」人材が必要になったりしないよな?
ノウハウが属人化して「Aさんじゃないと判らない」なんてよく聞く死亡フラグだ。
(もちろん>>147は、そんな奴は優秀とは言わないとか
優秀な人材ならすぐ対応できるとか言うんだろうが)
普通の会社ではどうするかって?
そこそこの能力で替えが効く人間を大勢揃えるのさ。
もちろん、人間の替えが効くようにメジャーな言語や技術を選択して
必要なスキルレベルも最低ランクの人材に合わせる。
これならメンテナンスする人材もすぐ都合がつくしな。
100人月とかの開発で必要な「優秀な」人材ってのは、
こういった面も見据えて適切な技術を選択したり
必要であれば独自フレームワークを設計したり
開発チーム全体のスキルレベルの底上げを行ったりできる開発者だろな。
なんて超アタリマエな事を偉そうに語ってすまん。
少数精鋭だと事故や病気で欠員が出ると途端に回らなくなるが。
後メンテナンスにも「優秀な」人材が必要になったりしないよな?
ノウハウが属人化して「Aさんじゃないと判らない」なんてよく聞く死亡フラグだ。
(もちろん>>147は、そんな奴は優秀とは言わないとか
優秀な人材ならすぐ対応できるとか言うんだろうが)
普通の会社ではどうするかって?
そこそこの能力で替えが効く人間を大勢揃えるのさ。
もちろん、人間の替えが効くようにメジャーな言語や技術を選択して
必要なスキルレベルも最低ランクの人材に合わせる。
これならメンテナンスする人材もすぐ都合がつくしな。
100人月とかの開発で必要な「優秀な」人材ってのは、
こういった面も見据えて適切な技術を選択したり
必要であれば独自フレームワークを設計したり
開発チーム全体のスキルレベルの底上げを行ったりできる開発者だろな。
なんて超アタリマエな事を偉そうに語ってすまん。
149デフォルトの名無しさん
2008/09/17(水) 22:39:27 長いから1段目しか見てないが、
うちも少数精鋭で立て続けに二人居なくなって
あばばばばってなったよw
うちも少数精鋭で立て続けに二人居なくなって
あばばばばってなったよw
150デフォルトの名無しさん
2008/09/17(水) 22:50:30 優秀な人間だけ30人も集められるわけがなかろう。
151デフォルトの名無しさん
2008/09/17(水) 22:51:49 あいや上は無視してorz
まいずれにしても優秀な人間だけ集めるってのはやっぱり現実には無理がある。
優秀な人間は各プロジェクトに分散させるもんだからな。
まいずれにしても優秀な人間だけ集めるってのはやっぱり現実には無理がある。
優秀な人間は各プロジェクトに分散させるもんだからな。
152デフォルトの名無しさん
2008/09/17(水) 23:08:57 30人月って、3人x10ヶ月のことじゃないのか。
153デフォルトの名無しさん
2008/09/17(水) 23:10:32 30人月だと普通は5人×6ヶ月くらいじゃね?
154デフォルトの名無しさん
2008/09/17(水) 23:17:40 今の現場は人ばかりいてダラダラ1000人月は消化してるな。
プロジェクト管理?
決まってるじゃないか、エクセルだよ!
プロジェクト管理?
決まってるじゃないか、エクセルだよ!
155デフォルトの名無しさん
2008/09/18(木) 00:19:09 知らないうちにヘンなインスタンスと会話してたりするとコワイよなぁ・・・
DIコンテナってある意味、人間関係の希薄な現代社会みたい。
DIコンテナってある意味、人間関係の希薄な現代社会みたい。
156デフォルトの名無しさん
2008/09/18(木) 00:41:51 妹だと思ってお尻なでてたらお袋だった、みたいな?
157デフォルトの名無しさん
2008/09/18(木) 00:52:58 >>148
欠員リスクはあるね。そこまで大きな仕事になると受けられないな。
で、引継ぎのほうなんだけど、運用保守要員のトレーニングも引き受けたり、
社内標準化と込みでやったりする。それに、そもそも特殊な技術を使うわけでもないし。
あと、俺の主張は「無能は使うな」であって、「優秀な人だけでやれ」ではないよ。
欠員リスクはあるね。そこまで大きな仕事になると受けられないな。
で、引継ぎのほうなんだけど、運用保守要員のトレーニングも引き受けたり、
社内標準化と込みでやったりする。それに、そもそも特殊な技術を使うわけでもないし。
あと、俺の主張は「無能は使うな」であって、「優秀な人だけでやれ」ではないよ。
158デフォルトの名無しさん
2008/09/18(木) 11:03:38 それすらも難しいのが結構現実…
159デフォルトの名無しさん
2008/09/18(木) 17:50:47 ホントホント
2chに書き込んでるような俺らみたいなヤカラでさえ、
より良い設計に興味があるだけマシで
普通のPGは会社引けたら知らんぷりだもんな
2chに書き込んでるような俺らみたいなヤカラでさえ、
より良い設計に興味があるだけマシで
普通のPGは会社引けたら知らんぷりだもんな
160デフォルトの名無しさん
2008/09/18(木) 20:43:51 まあ中にはPGには余計な知恵をつけて欲しくないとかで
DIコンテナとかの話するだけで目の敵にするような奴もいるしな。
…それはそれで正しいのか?そうは思いたくないが。
DIコンテナとかの話するだけで目の敵にするような奴もいるしな。
…それはそれで正しいのか?そうは思いたくないが。
161デフォルトの名無しさん
2008/09/18(木) 20:56:26 作業者(制御構造を書くだけ一般PG)にまでDIなんて意識させるか?
DIなんて裏方だし、骨組み作る人間だけが意識してれば良いじゃん。
DIなんて裏方だし、骨組み作る人間だけが意識してれば良いじゃん。
162デフォルトの名無しさん
2008/09/18(木) 21:06:49 そしてさらにPGの二極化が進むのであった。
163デフォルトの名無しさん
2008/09/18(木) 21:19:46 日本って人材に甘すぎるのか、分からない分からないを繰り返して
残業しまくって成果物がゼロに近い奴が首にならないんだよな。
しばしば年収を意識しちゃって鬱になるよw
>>160
費用対効果だわな。
DIはOJTの範囲外なのでちょっと投資する必要がある。
残業しまくって成果物がゼロに近い奴が首にならないんだよな。
しばしば年収を意識しちゃって鬱になるよw
>>160
費用対効果だわな。
DIはOJTの範囲外なのでちょっと投資する必要がある。
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★12 [蚤の市★]
- 中国の渡航自粛要請1カ月 大阪の観光バス予約ゼロ、東北にも波及 [蚤の市★]
- 【神戸】エレベーター「かご」なく男性医師が転落死 大手「三菱電機ビルソリューションズ」の担当者、安全装置切り放置か [ぐれ★]
- 不倫疑惑の永野芽郁さん、CM削除ドミノの違約金“やはり発生は免れない”可能性 約10億円になる見込み、本人は全額支払う覚悟 [牛丼★]
- 【日本人の旅行離れ】国内旅行すら行けなくなった……オーバーツーリズムだけじゃない 旅行者減少の異常事態 [ぐれ★]
- 女性天皇「賛成」69%、将来の皇位継承「不安」68%…読売世論調査 [蚤の市★]
- かめはめ波打って仕事行く(5連続成功中)
- 高市、メガソーラー廃止。環境破壊が社会問題化 [792147417]
- 日本人がホルホルの対象にしている生物、海外にも生息すると判明 [603416639]
- いい香りのする会社のおばちゃんなんなんだよwww
- 無責任な大人が「不登校でいいんだよ」とか言ってるけどさ
- 阿部監督「松本剛獲得した理由は『守備力』と『人間性』」←何で辰己(5年連続GG)じゃないんやろ?
