[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 05/09 18:50 / Filesize : 235 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

国産DIコンテナSeasar その7



1 名前:デフォルトの名無しさん mailto:sage [2006/07/16(日) 23:29:27 ]
一部で話題になっている国産オープンソースDIコンテナSeasar V2(略してS2)。
ってどうよ?みんなもう使ってるの?
使用経験とか、実戦配備情報とか、つかえねーよボケ、とかいろいろ書いてね。

本家 seasar.org
www.seasar.org/

Seasar Projectグループ
seasarproject.g.hatena.ne.jp/

ひがやすをblog
d.hatena.ne.jp/higayasuo/

前スレ
その1 pc5.2ch.net/test/read.cgi/tech/1092044210/
その2 pc5.2ch.net/test/read.cgi/tech/1098885253/
その3 pc8.2ch.net/test/read.cgi/tech/1102862221/
その4 pc8.2ch.net/test/read.cgi/tech/1119608621/
その5 pc8.2ch.net/test/read.cgi/tech/1135986150/
その6 pc8.2ch.net/test/read.cgi/tech/1148204750/
関連スレ
Java Spring Frameworkを語るスレ
pc8.2ch.net/test/read.cgi/tech/1077465099/

Dependncy Injectionを語るスレ
pc8.2ch.net/test/read.cgi/tech/1099827125/

Java⇔RDBのMapping-Frameworkを語るThre Vol.4
pc8.2ch.net/test/read.cgi/tech/1134701684/


977 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 00:34:54 ]
超適当なインターフェイスの作り方

1.実装クラス〜Implを先に作る。
2.Eclipseでクラスを右クリック→リファクタリング→インターフェースの抽出を選択
3.インターフェイスに定義したいpublicメソッドを選んで、クラス名からImplを外して実行
4.パッケージが〜.implだった場合は、パッケージ名を修正して出来上がり

だいたい15秒くらいでできるよw

978 名前:wildcats [2006/12/08(金) 00:39:36 ]
>>975
別に手間をケチってる訳じゃないよ?
インタフェイス抽出なんて僅かな手間だよね。

979 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 00:54:55 ]
そもそも、この議論の起点になった奴が必要なときには
インターフェイスの抽出で済むじゃんって言ってるが、
多分、大体のときに必要になるのはインターフェイスを抽出する作業じゃなくて、
インターフェイスを残して、実装を退避させる作業なんだと思うけどなぁ。

それに、実クラスだとどうしても直接インスタンスを生成できちゃうから、
面倒なときにはDI使わずに自分で new しちゃったりするんよねぇ。
そーゆーのを後から抽出したインタフェイスに置き換えていくのって面倒じゃない?

「ぎょぎょ、業務で固有なロジック限定って言ったでしょ!!誤読厳禁!」

つってるけど、週次処理をこの場合には特別に実行するだとか、
そーゆー風に利用箇所が分散する観点がすっぽり抜け落ちてる。

多分Seasar全般に言えるんだろうけど、作り捨ての雰囲気が強いよな。
自分らの作ったシステムをしっかり保守していける体勢を作ろうという観点が
非常に欠けてる。

最近の迷走ぶりは今日早く家に帰れることを重視するあまり
将来困ろうが知っちゃこった無いって発想に近いと思う。

980 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 01:26:49 ]
改めて >>907 を読み返すと、
最後の意見はかなりの電波だな。
最初の意見は信仰する宗教の違いと思えなくも無いが。
二番目の意見は・・・Implって名前が嫌いなだけなのか?主張が分からん。

981 名前:970 mailto:sage [2006/12/08(金) 02:01:32 ]
うーん、漏れは972みたいな状況になったことって一度もないんだが。
自分は、小さな開発規模しか経験してないってことなのかな。


だってさー、問題あったら、直接ロジックいじるじゃん?

別に協力会社が作ったソースであっても。


982 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 02:04:48 ]
>>975
俺は一箇所しか使わない & 直接書いた方が判りやすい場合はわざわざ定数化するよりマジックナンバー書いちゃうけど、だめかな?
なんでも定数だとかえって読みづらくなる気がするんだけど・・・。

983 名前:972 mailto:sage [2006/12/08(金) 02:26:15 ]
>>981
おまいは、俺の発言をちゃんと理解したのか?(誤字が多すぎて読みにくかったと思うが)
現在正常に動いているものを変更すると変更後のものが動作の正常性を保障できないだろ?
テストクラスが準備されていたとしてもそれが本当に十分に記述されてるのか分からない。

そーゆー場合には、実績として動くことが保障されているクラスはそのまま残しておいて、
そのクラスをコピペしてから内部実装に手を入れていくべきだと思う。
そして、コピペ元は新しいクラスが十分な動作実績を持ったと判断したときに削除する。

俺が書いてるのはあくまで開発だけで閉じた話ではなくて、
障害発生時の一次対応の迅速さまで考えた話だから
「ばぐっすか?はいはい〜、なおしました。これでどうすか?オッケーすよね」
っていうアジャイルな流れとは相容れないかもしれない。

年間システム停止時間1時間以内とか、そういう目標を課せられたプロジェクトに
密に関わってる人間じゃないとそーゆー視点は育たないのかなーとも思う。

984 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 02:26:58 ]
直接書いた方が判りやすい場合はそれで良いでしょ。

985 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 02:43:17 ]
>>983
まぁ熱くならずに。
字面を追っただけで利点を実感できたら、そいつは多分天才。
一度でも「あの時 interface 作っとけば・・・」な経験した後じゃないと、
事例挙げられても「ふーん?」で終わりですよ。



986 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 03:53:49 ]
>>972
>クラスに実装してたら、元ののバージョンを取得しようにも
>他のクラスに手が入ってて入っている部分と切り出して
>チェックアウトするのがかなり難しいかもしれない!!

これって単にインターフェイスを定義するかどうかだけじゃなく、
ロジックを整理してクラス分割した上で、そのクラス同士を疎結合にできているかどうかまで
問われるよね?

まぁ結局そこまで考えると、インターフェイスを使わずにクラス結合なんて考えられなくなるから
結果としては同じことになるんだけど
ようするに、そもそもなんでインターフェイスを挟んでクラス間を疎結合にしようとしているのか
大元からしっかり考えないと、メリットを掴むのは難しいと思う。
単にインターフェイスを定義しても、そこで作ったロジッククラスが
一つだけのメソッドに1000行書いてるような巨大なトランザクションスクリプトだったりしたら
「設定ファイル一つで簡単に置き換える」とかいうわけにもいかないわけで・・・

987 名前:デフォルトの名無しさん [2006/12/08(金) 07:49:14 ]
次スレ

国産DIコンテナSeasar その8
pc8.2ch.net/test/read.cgi/tech/1165531719/

988 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 10:35:00 ]
>>970
>Action - Logic - Dao
ここでのLogicってなに?
トランザクションスクリプト?ドメイン?サービス?
多分、層が1つ足りないぜよ。

>>977
いいけど、そうなるとTDDじゃなくね?

>>986
例えば、もともとトランザクションスクリプトなクラスAがあったら、
コピーして修正を加えたA'クラス(もちろんトランザクションスクリプトだけど)をつくって、
差し替えるだけだろ。
トランザクションスクリプト>ドメインモデルの切り替えは、DI云々以前に高コスト&高リスクな作業だと思う。

>>987


989 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 12:57:04 ]
結局、
>>985
これが真理

990 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 20:37:10 ]
>>987


なんでファウンデーションスレをテンプレに貼ってないのかと思ったら、
変なのの隔離場所になってるのね。

991 名前:デフォルトの名無しさん mailto:sage [2006/12/08(金) 22:19:02 ]
やることがいちいち姑息だよな

992 名前:981 mailto:sage [2006/12/08(金) 22:52:51 ]
>>983
なるほどねー。
やはり、今までになかったですねー、そういうのは。

>>988
サービスですね。
Action - Logic - Daoは、S2JSFのEmployeeサンプルに倣って書きました。


993 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 00:28:21 ]
そろそろ埋めるか

994 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 00:40:58 ]
埋める?S2Containerを?楽しそうだぜ!!

995 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 00:44:06 ]
沖縄の守り神の獣肉(゚д゚)ウマー



996 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 01:05:36 ]
食ったんかいw

997 名前:デフォルトの名無しさん [2006/12/09(土) 01:06:55 ]
cap.from.tv/jlab-fat/s/fat1165514726432.jpg

998 名前:デフォルトの名無しさん mailto:sage [2006/12/09(土) 01:55:49 ]
ume

999 名前:デフォルトの名無しさん [2006/12/09(土) 02:43:00 ]
1000だったらS2Spring作る

1000 名前:デフォルトの名無しさん [2006/12/09(土) 02:54:13 ]
日テレはルパンにひどいことをしたよね(´・ω・`)

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<235KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef