java - 我应该使用具有大量字段的枚举还是具有大量方法的类

标签 java performance enums

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

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,因为它提供了类型安全性和非常具体的参数签名。我会同意的。

关于java - 我应该使用具有大量字段的枚举还是具有大量方法的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19186958/

相关文章:

java - 在 Java 构造函数中设置数据时出现 NullPointerException

java - 如何在 Swt 组合框中设置默认值?

java - 当我们在类级别实现多线程时,testNG 报告在内部如何工作?

c++ - 为什么第二次迭代大量字节时速度明显变慢?以及如何解决?

c# - 下一个或上一个枚举

postgresql - 如何使用 pgAdmin 创建枚举?

java - Java中LocalDate属性的编译问题?

html - 网站加载速度 - 缓慢的 html 加载

android - 在 Android 上高效检测 parking 位

kotlin - 使用 kotlin 枚举避免 when 表达式中出现 else 语句