为什么在活动之前将外部请求类转换为内部请求类?

时间:2017-02-08 06:36:31

标签: java oop design-patterns service rpc

在执行CRUD之前,将外部请求类转换为内部请求类的原因是什么?

示例代码:

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

有人能告诉我为什么不使用外部请求直接进行活动?外部和内部请求类的详细信息元素相同。

1 个答案:

答案 0 :(得分:0)

如果没有更多背景,很难给出答案。但这里有一些我能想象的原因

  • <强>解耦

    solve方法与ExternalRequest类无关。它只取决于InternalRequest。可以使用InternalRequest之外的其他输入构建ExternalRequest。因此,如果您可以创建InternalRequest,则可以调用solve方法。

  • <强>验证

    也许RequestContextBuilder.buildRequest做的更多,然后只创建另一个对象。在创建ExternalRequest之前,它可能会验证InternalRequest的值。作者可能想表达InternalRequest只有有效值。在这种情况下,它会使solve方法的实现更容易,因为solve方法可能依赖于InternalRequest有效的事实。它不能检查所有属性。