2

Request1To、Request2To、Request3Toという3つのリクエストオブジェクトがあります。これらのTOのいずれかを取り込んで、応答オブジェクトを返すメソッドが必要です。私は現在このように実装しています

class Mapper{
     public ResponseTo mapRequest1(Request1To){

      }

     public ResponseTo mapRequest2(Request2To){

      }

    public ResponseTo mapRequest3(Request3To){

      }

}

リクエストオブジェクトごとに個別のメソッドを作成する代わりに、これを行うためのより良い方法はありますか?

4

3 に答える 3

4

Dozermodelmapperを見てください。どちらも、あるオブジェクトを別のオブジェクトにマッピングするための優れたツールです。Dozer が Spring と統合されていることは知っています。Dozer では、コードは次のようになります。

Mapper mapper = new DozerBeanMapper();
ResponseTo response = mapper.map(request, ResponseTo.class);

非常に強力で、非常に使いやすいです。

于 2012-12-29T03:57:13.353 に答える
0
public interface CustomRequest {


 public ResponseTo convertResponseTo();


}


public class Request1To implements CustomRequest{

    public ResponseTo convertResponseTo(){

     // do the logic and return response

    }

 }


  public class Mapper {


   public ResponseTo mapRequest(CustomRequest request){

      return request.convertResponseTo();

  }
}
于 2012-12-29T03:51:02.500 に答える
0

それらのオブジェクトがどのようなものであるかについて詳しくはわかりません...それらがすべて実装する Request インターフェイスを作成するだけです。次に、mapRequest メソッドは具象クラスの代わりにインターフェイスを受け取ります。

于 2012-12-29T03:49:10.807 に答える