問題があれば、javascript/node.jsでプログラミングしていますが、言語にとらわれず、デザインパターンに関連する質問があります。これは実際には非常に単純で、経験豊富なプログラマーにとっては些細なことかもしれません。
特定のサブ問題を処理する他の関数を呼び出すことによって、何らかのプロセス (ビジネス ロジックと呼びます) を実行する関数/メソッドがあるとします。
function doProcess(){
subProcessA();
subProcessB();
subProcessC();
return "OK"
}
ただし、同様のプロセスを実行するタスクを取得しますが、この新しいプロセスは subProcessA を呼び出してはなりません。たとえば、コードの次の部分があります。
function doProcess2(){
subProcessB();
subProcessC();
return "OK"
}
だから私の質問は、コードをどのように設計するか、または次のことを行うべきかということです:
A) 上の例のように新しいプロセスに対して毎回新しい関数を作成しますが、冗長なコードがたくさんあり、毎回繰り返します。
B) 次のようなプロセス コードで大きな IF を実行します。
if(some-condition){
subProcessA()
}
しかし、私のコードは非常に見栄えが悪くなります。
C) その IF を subprocessA に直接移行します。
if(!some-condition){
return // do nothing
}
しかし、やはり結合されたコードのように見えます。また、それは最善のアプローチではないと感じています。
D) 他に?