副作用を避けるために: メソッド内でパラメーター オブジェクトの属性値を変更したくありません。結果を表し、それを返す新しいものを作成することを好みます。
副作用を回避することは、マルチスレッド環境でのみ重要ですが、それでも実践することをお勧めします。f(X)=Y は、引数として受け取ったオブジェクトと結果として与えたオブジェクトの両方を比較できるので便利です。
つまり、IN パラメーター オブジェクトのすべての属性を、作成した OUT の新しいインスタンス オブジェクトにマップする必要があります。これにより、次のようなコードが作成されます。
groundCertResult.setExpirationDate(pGroundCertificate.getExpirationDate());
groundCertResult.setValidationDate(pGroundCertificate.getValidationDate());
groundCertResult.setId(pGroundCertificate.getId());
私のメソッドで多くの行を作成できること:$
行を追加するだけで、それほど多くの値をマッピングせずに行うこともできます
//use findByID without mapping that much
final GroundCertificate groundCertResult =
groundCertificateDao.findById(pGroundCertificate.getId());
しかし、これはDBへのアクセス、およびより多くの処理に終わります。
オブジェクトを別のオブジェクトにマップするために、リフレクションを使用して一般的な方法を実行しますか? それはパフォーマンスの面でコストがかかります。
あなたは何を選びますか?プロジェクトのニーズに応じて。保守性、拡張性を考慮して...