我的任务是测试多个版本的RestAPI。我想到了两种方法来包含一组有效的休息电话。在第一种情况下,我将拥有RestUrlFactory,其中包含一个与每个rest调用相对应的方法。例如,我将拥有以下方法:

public RestURL Version_1_1_PRODUCTS_GET();
public RestURL Version_1_1_PRODUCTS_PUT();
public RestURL Version_1_2_PRODUCTS_PRODUCT(int productId);
...etc


另外,我想我可以让RestUrlFactory包含一个枚举
每个API版本。在这种情况下,每个休息电话都会有一个枚举字段。

enum Version_1_1 implements RestUrl
{
    PRODUCTS_GET("/products", "GET"),
    PRODUCTS_PUT("TestProduct", "PUT"),
    ...
}


或那种性质的东西。我认为后一种选择(使用枚举)更为简洁。但是,我的问题是,它是否也是良好的OOP实践,并且在性能方面是否更好?我认为使用枚举将导致工厂类占用更少的空间。

最佳答案

如果使用此API的人们打算通过HTTP进行调用,那么这将大大超过此处的任何性能考量。不必担心性能:那将是过早的优化。

在我看来,使用方法签名似乎可以为用户提供最简单的API,因为它提供了类型安全性和非常具体的参数签名。我会去的。

10-08 19:07