2017-02-08 7 views
0

外部要求クラスを内部要求クラスに変換する理由は何ですか?アクティビティの前に外部リクエストクラスを内部リクエストクラスに変換するのはなぜですか?

コード例:

public GetResponse(ExternalRequest request) { 
    InternalRequest internalRequest = RequestContextBuilder.buildRequest(request); 
    InternalResponse = solve(internalRequest); 
} 

直接活動を行うための外部要求を使用していない、なぜ誰も私に教えてもらえますか?詳細要素は外部要求クラスと内部要求クラスで同じです。

+1

もう少しコンテキストを提供できますか?それがなければ、私たちが言うことのできる最良のものは「デカップリング」です。 – chrylis

答えて

0

これ以上の文脈がなければ、答えを出すのは難しいです。しかし、ここで私は

  • デカップリング

    solve方法がExternalRequestクラスに依存しませんを想像することができますいくつかの理由です。それはInternalRequestにのみ依存します。 InternalRequestは、ExternalRequestという異なる入力を使用してビルドすることができます。したがって、InternalRequestを作成するだけの場合はsolveメソッドを呼び出すことができます。

  • 検証

    たぶんRequestContextBuilder.buildRequestはちょうど別のオブジェクトを作成し、より多くを行います。 InternalRequestを作成する前にExternalRequestの値を検証するかもしれません。著者はInternalRequestに有効な値しかないことを表現したいかもしれません。この場合、solveメソッドの実装は、solveメソッドがInternalRequestが有効であるという事実に依存する可能性があるため、メソッドの実装が容易になります。すべてのプロパティをチェックしてはいけません。

関連する問題