各コンストラクターで作成されている間にいくつかの検証を行っている不変オブジェクトで動作するレガシーアプリケーションがあります。すべてのオブジェクトは独自の検証を行います。f. 元。長さチェック、範囲チェックなど。
ビジネス オブジェクトは次のようになります。
public class MyObject {
private FieldA fieldA;
private FieldB fieldB;
...
}
オブジェクトは、データをロードする cobol サーバーを呼び出すことによって作成されます... このコードは非常に汚いように見えます:
if (isFieldSet(response.getValueA())) {
myObject.setFieldA(new FieldA(response.getValueA()));
}
if (isFieldSet(response.getValueB())) {
myObject.setFieldA(new FieldA(response.getValueB()));
}
...
また、オブジェクトがたくさんあるので、if ステートメントもたくさんあります。リフレクションを使用して改善し、クラスを動的に作成できました。
myObject.setFieldA(createField(A.class, response.getValueA()));
myObject.setFieldA(createField(B.class, response.getValueB()));
これにより、私のコードはより良くなりますが、はるかに遅くなります。誰かがこの問題を解決するエレガントな方法を見ていますか?
よろしく、
マイク