【发布时间】:2017-09-15 15:22:50
【问题描述】:
我对 Java 还是很陌生,并试图实现最佳实践。我有一个类,我想大量重构。我四处搜寻,找不到任何特别解决我问题的东西。
我有一个名为Definitions 的类,它将所有事件名称映射到它们各自的事件ID。我有另一个类可以解析出名为EventHandler 的事件。 EventHandler 有一个非常大的 switch 语句。我想减小处理程序方法的大小,以便代码更易于阅读。
我从下面截断了大约 50 个其他事件。在每种情况下,大约有 20-30 行代码。你可以想象这个switch语句有多大。
我的Definitions 班级:
public class Definitions
{
public static class EVENT
{
public static final int SEQUENCE_START = 10;
public static final int SEQUENCE_HALT = 11;
public static final int SEQUENCE_AUTHORIZED = 12;
}
}
我的EventHandler 班级:
public handledStack parse(IRPEventType buffer)
{
final int eventId = Integer.parseInt(buffer.reader().parse("EventID"));
switch (eventId)
{
case Definitions.EVENT.SEQUENCE_START:
{
// stuff happens here
break;
}
case Definitions.EVENT.SEQUENCE_HALT:
{
// stuff happens here
break;
}
case Definitions.EVENT.SEQUENCE_AUTHORIZED:
{
// stuff happens here
break;
}
}
}
【问题讨论】: