Java 方法复杂度

Java method complexity

最近我开始编写 Allegro(电子商务商店)的 java rest-api 库,以便在其他项目中使用它。

我遇到过一些事情,比如通过参数获取优惠,从复杂性方面来说对我来说非常困难。

基本上,人们可以使用 multiple 查询参数来查找该服务中的报价。

是否有可能制作一个可以接受 x 个参数的通用方法(我不是在谈论字符串...等),并在不指定哪个参数对应哪个参数的情况下处理它们?

示例:

Seller.Id(作为唯一参数),或 Seller.ID 和 limit 会弄乱参数顺序。

我想提一下,我正在考虑制作多个方法,但该方法采用了另一个参数,但是采用 12 个不同的参数和它们的组合会造成很多混乱。

此外,如果有任何术语不正确(外语),我想道歉。

尝试使用此参数作为属性创建 class (DTO)。仅将此 class 作为您方法的参数(POST 或 PUT)。对于 GET 或 DELETE,仅使用 ID 号...

您可以通过将参数分组到单独的对象中来降低这种复杂性。例如,您可以分组

  1. seller.id, seller.login 进入 SellerInfo 对象
  2. 类别、词组、搜索模式、偏移量和限制到 SearchInfo 对象中

使用对象作为参数即使在将来也会有所帮助,如果您需要 add/remove 参数,则不需要更改方法定义,而是更改对象内部的属性。

使用哈希图是另一种选择。但是,这将增加管理 key/value 对的开销。如果您不想创建第一个选项中建议的其他自定义对象,这是一个不错的选择。