Java Pattern的优点,其中method将Object作为参数而不是单个参数

Ala*_*lan 4 java amazon-web-services amazon-glacier

我一直在通过Amazon Java SDK使用Amazon Glacier.

我很惊讶参数是通过一个对象传递的,而不是作为单独的参数传递的.

例如,要检索作业的输出,其中参数是Vault,JobId,range,则使用以下技术:

client.getJobOutput(new GetJobOutputRequest(Vault, JobId, range));
Run Code Online (Sandbox Code Playgroud)

代替:

client.getJobOutput(Vault, JobId, range);
Run Code Online (Sandbox Code Playgroud)

这两种方法的优点和缺点是什么?

Abh*_*kar 9

优点:

  1. 如果您的方法采用许多参数,则使用参数对象可使方法签名合理.
  2. 如果您想稍后为该方法获取其他参数,则使用参数对象意味着您只需在param对象中添加另一个字段,并且方法签名不需要更改.
  3. 如果您想要方法的批处理版本,只需传递一个param对象列表.

缺点:

  1. 额外的冗长
  2. 另一层次的间接