Java 方法复杂度
Java method complexity
最近我开始编写 Allegro(电子商务商店)的 java rest-api 库,以便在其他项目中使用它。
我遇到过一些事情,比如通过参数获取优惠,从复杂性方面来说对我来说非常困难。
基本上,人们可以使用 multiple 查询参数来查找该服务中的报价。
是否有可能制作一个可以接受 x 个参数的通用方法(我不是在谈论字符串...等),并在不指定哪个参数对应哪个参数的情况下处理它们?
示例:
Seller.Id(作为唯一参数),或 Seller.ID 和 limit 会弄乱参数顺序。
我想提一下,我正在考虑制作多个方法,但该方法采用了另一个参数,但是采用 12 个不同的参数和它们的组合会造成很多混乱。
此外,如果有任何术语不正确(外语),我想道歉。
尝试使用此参数作为属性创建 class (DTO)。仅将此 class 作为您方法的参数(POST 或 PUT)。对于 GET 或 DELETE,仅使用 ID 号...
您可以通过将参数分组到单独的对象中来降低这种复杂性。例如,您可以分组
- seller.id, seller.login 进入 SellerInfo 对象
- 类别、词组、搜索模式、偏移量和限制到 SearchInfo 对象中
使用对象作为参数即使在将来也会有所帮助,如果您需要 add/remove 参数,则不需要更改方法定义,而是更改对象内部的属性。
使用哈希图是另一种选择。但是,这将增加管理 key/value 对的开销。如果您不想创建第一个选项中建议的其他自定义对象,这是一个不错的选择。
最近我开始编写 Allegro(电子商务商店)的 java rest-api 库,以便在其他项目中使用它。
我遇到过一些事情,比如通过参数获取优惠,从复杂性方面来说对我来说非常困难。
基本上,人们可以使用 multiple 查询参数来查找该服务中的报价。
是否有可能制作一个可以接受 x 个参数的通用方法(我不是在谈论字符串...等),并在不指定哪个参数对应哪个参数的情况下处理它们?
示例:
Seller.Id(作为唯一参数),或 Seller.ID 和 limit 会弄乱参数顺序。
我想提一下,我正在考虑制作多个方法,但该方法采用了另一个参数,但是采用 12 个不同的参数和它们的组合会造成很多混乱。
此外,如果有任何术语不正确(外语),我想道歉。
尝试使用此参数作为属性创建 class (DTO)。仅将此 class 作为您方法的参数(POST 或 PUT)。对于 GET 或 DELETE,仅使用 ID 号...
您可以通过将参数分组到单独的对象中来降低这种复杂性。例如,您可以分组
- seller.id, seller.login 进入 SellerInfo 对象
- 类别、词组、搜索模式、偏移量和限制到 SearchInfo 对象中
使用对象作为参数即使在将来也会有所帮助,如果您需要 add/remove 参数,则不需要更改方法定义,而是更改对象内部的属性。
使用哈希图是另一种选择。但是,这将增加管理 key/value 对的开销。如果您不想创建第一个选项中建议的其他自定义对象,这是一个不错的选择。