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

时间:2012-08-30 02:56:17

标签: java amazon-web-services amazon-glacier

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

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

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

client.getJobOutput(new GetJobOutputRequest(Vault, JobId, range));

而不是:

client.getJobOutput(Vault, JobId, range);

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

1 个答案:

答案 0 :(得分:9)

优点:

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

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