1

私はこのコードを持っています:

if(condition 1) {
    if(condition X) {
        myMethod(..., paramx, ...);
    }

    if(condition Y) {
        myMethod(..., paramy, ...);
    } 
 }

if(condition 2) {
    if(condition A) {
        myMethod(..., parama, ...);
    }

    if(condition B) {
        myMethod(..., paramb, ...);
    } 
 }
...

等々。ご覧のとおり、条件に応じて 1 つの異なるパラメーターで同じメソッドを呼び出しています。これを解決するエレガントな方法は何ですか?

ありがとう!

4

2 に答える 2

2
if(condition 1){
   if(condition X){  
      dependentVar = paramx;  
   }

   if(condition Y){
      dependentVar = paramy;
   } 
}

if(condition 2){
   if(condition A){
      dependentVar = parama;
   }

   if(condition B){
      dependentVar = paramb;
   } 
}

... やっと :

myMethod(..., dependentVar, ...); 

何もない場合、これによりコードの可読性が向上します。

明らかに、これは条件の 1 つが正確​​に (そして多くても) 満たされていることを前提としています。

于 2012-05-02T10:27:23.300 に答える
0

戦略パターンはあなたが使用する必要があるものです。決定は戦略オブジェクトで行われ、そのうちの1つが肯定的に応答するまで、それらすべてを1つずつ呼び出すだけです。

于 2012-10-31T10:31:16.067 に答える