为什么在activity之前将外部请求class转换为内部请求class?

Why transform external request class to internal request class before activity?

在进行 CRUD 工作之前,将 外部 请求 class 转换为 内部 请求 class 的原因是什么?

示例代码:

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

谁能告诉我为什么不用外部请求直接做activity?外部和内部请求的详细信息元素相同 class.

没有更多的上下文,很难给出答案。但是这里有一些我可以想象的原因

  • 解耦

    solve 方法与 ExternalRequest class 没有依赖关系。它只取决于InternalRequestInternalRequest 可能使用与 ExternalRequest 不同的输入构建。因此,如果您可以创建一个 InternalRequest,您可以调用 solve 方法。

  • 验证

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