例えば、
db取得、取得結果の編集、ファイル出力、dbステータス更新
という一連の流れがあるとします。
この一連の流れはほとんど同じで、処理内で使用される定数やインスタンスが区分によって異なる処理を複数回行う場合、メイン処理で条件分岐を行わずに実装するなら、皆さんならどう実装しますか?
私が思い付いたのは全て一つのenumで持つということですが、実装していくとちょっと複雑になってしまいました。以下以外にもっとスマートにする方法はあるでしょうか?
java
1enum Kubun{ 2K1 ( 3 "あかさ1","たなは1","まやら1" 4), 5K2( 6 "あかさ2","たなは2","まやら2" 7), 8K3(/*省略*/); 9 10private String code1; 11private String code2; 12private String code3; 13 14// 結局ここで条件分岐必要 15public BeanInterface getInstance(){ 16 if(this = K1){return new K1bean();} 17 if(this = K2){return new K2bean();} 18 else {return new K3bean();} 19} 20} 21
java
1public void mainProcess(){ 2 for(Kubun kubun :Kubun.values()){ 3 List<Result> results = getDB(kubun); 4 Beaninterface bean=kubun.getinstance(); 5 //convertの中では条件分岐せずにgetCode1()等を呼び出す 6 Beaninterface outData = kubun.convert(results,bean); 7 outputfile(outData); 8 updatestatus(outData); 9 } 10}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/29 05:13
2019/05/02 23:24