以前のすべてのバージョンにアクセスできるようにしながら、ビジネス ルールのメソッドを改訂する必要があります。それらが含まれるクラスは同じになりますが、各メソッドの内容は異なります。同じメソッドシグネチャを持っていることをお勧めします。呼び出し元は、実行したいバージョンを知っています。また、メソッド名に _vX を含めないことをお勧めします (以下の例のように)。これを行うより良い方法はありますか?各メソッドの注釈のようなものはいいのですが、簡単なテストでは、メソッドを十分に一意にすることはできなかったようです.
public class SomeSpecificRule {
public Response processRule_v1() {
}
public Response processRule_v2() {
}
}
編集: メソッドが異なる理由は、メソッド内に含まれるロジックが異なる時点で有効になる可能性が高いためです (主なシナリオ) が、任意の時点で任意のバージョンを実行できるようにする必要があります (セカンダリ)。Dates x1-x2 で使用される method_v1 と Dates x2-x3 で使用される method_v2 が共通になります。ただし、これらのクラスと追加のメソッドを他の開発者が簡単に作成できるようにするために、指定された日付とその他の基準ロジックを指定して「どのバージョンを使用する必要があるか」を分けておきます。