【发布时间】:2014-01-24 13:05:02
【问题描述】:
我正在使用 JAX-RS 创建 REST Web 服务。
我需要使我的Resource 类上的@Path 注释的值可公开访问。使用反射来获取这个值似乎有点繁重。
我想我会将值保存在public static final String 中,这样@Path 注释和其他类都可以访问它。
强制类提供此常量的最佳方式是什么?我的印象是在接口中使用常量是一种反模式(Effective Java 2nd Edition)。
编辑:
正如 Effective Java 所指出的,“如果常量与现有的类或接口紧密相关,则应将它们添加到类或接口中”。
在我的情况下,接口的所有实现者的@Path 将是相同的,并且接口将提供方法,所以我认为我可以安全地将常量添加到接口。
【问题讨论】:
-
给私有字段添加getter方法?
-
有效的 java 并没有说在接口中使用常量是一种反模式。它说仅将接口用于常量是一种反模式,“常量接口”是一种反模式。