[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[jfriends-ml 10523] Re: DB トランザク ション ( 度 々 commit/rollback を書きたくない)
TransactionMethodのexecuteメソッド・・というか
個々のDBCommandクラスのメソッドの引数および、戻り値(リテラル含む)
がすべて異なる場合、もしくは引数は同じ型で戻り値が異なる
場合はどうなるんでしょう?
(自分でも考え中です)
元々の問題は簡単であるクラスですべてのメソッドが
同じ処理を繰り返しやっているのでDRY原則に反している気がしたので
なんとかならないものかと思ったんです。
例
class A {
public void methodA(int i){
try{
//methodAの処理
//commit処理
}catch(ExceptionHodler e){//ExceptionHodlerはすべての例外をカプセルかする
//非常に長い例外処理(正しい型をinstanceofでログに吐く(すべてのメソッドで
同じ))
//rollback処理
}
}
public int methodB(int i){
try{
//methodBの処理
//commit処理
}catch(ExceptionHodler e){//ExceptionHodlerはすべての例外をカプセルかする
//非常に長い例外処理(正しい型をinstanceofでログに吐く(すべてのメソッドで
同じ))
//rollback処理
}
}
public void methodC(int i,int arg){
try{
//methodCの処理
//commit処理
}catch(ExceptionHodler e){//ExceptionHodlerはすべての例外をカプセルかする
//非常に長い例外処理(正しい型をinstanceofでログに吐く(すべてのメソッドで
同じ))
//rollback処理
}
}
}
__________________________________________________
Do You Yahoo!?
Yahoo! BB is Broadband by Yahoo!
http://bb.yahoo.co.jp/