我应该使用包含大量字段的枚举还是使用包含大量方法的类

时间:2013-10-04 17:05:50

标签: java performance enums

我的任务是测试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练习,并且在性能方面是否更好?我认为使用枚举会导致工厂类占用更少的空间。

1 个答案:

答案 0 :(得分:4)

如果使用此API的人将通过HTTP进行调用,那么这将远远超过任何性能考虑因素。不要担心性能:那将是不成熟的优化。

在我看来,使用方法签名会让用户使用最简单的API,因为它提供了类型安全性和非常具体的参数签名。我会选择那个。