我这里有一个 Java 问题。我有很多常量,它们是连续的常量整数,目前定义如下:
interface Flags {
static final short A = 0;
static final short B = A + 1;
static final short FIRST_USER_FLAG = B + 1;
}
你们中的许多人现在会推荐我使用 Enum。问题是,我需要不止一个地方有这些标志。所以它会像:
interface CustomFlags {
static final short USER_A = Flags.FIRST_USER_FLAG + 1;
static final short USER_B = USER_A + 1;
}
您在此处看到的代码也必须在网络的两侧相同,包括在服务器代码和客户端代码中。它们之间的每条消息都定义了它的标志,并且通过这个标志,网络创建了使用这个标志注册的消息对象。这似乎不是最好的方法,但我想不出更好的方法。问题是,网络代码有自己的标志和消息,它们执行一些基本的身份验证和握手。然后必须有使用网络的代码定义的消息(及其标志)。
我的问题是,如何使它更易于维护和阅读?此外,如果有人知道发送和重新创建消息的更好方法(我同时使用 TCP 和 UDP,取决于消息),我将非常感激听到它。
如果有什么我没有解释的,请告诉我,我会补充的。
PS:对不起我的英语不好,因为我不是母语人士。