我一直在通过 Amazon Java SDK 使用 Amazon Glacier。
令我震惊的是,参数是通过对象传递的,而不是作为单独的参数传递的。
例如,要检索作业的输出,其中参数是 Vault、JobId、range,使用以下技术:
client.getJobOutput(new GetJobOutputRequest(Vault, JobId, range));
代替:
client.getJobOutput(Vault, JobId, range);
这两种方法的优缺点是什么?
最佳答案
优点:
- 如果您的方法有很多参数,使用参数对象可以使方法签名更加合理。
- 如果您以后想为该方法获取额外的参数,使用参数对象意味着您只需在参数对象中添加另一个字段,而无需更改方法签名。
- 如果您想要该方法的批处理版本,只需传递一个参数对象列表即可。
缺点:
- 特别冗长
- 另一个间接层
关于java - Java模式的优势,其中方法将对象作为参数而不是单个参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12189236/