你好BANQ,帮我看看访问都模式
我使用了Visitor模式,下面是一个得到Visitable的实现类的一个工厂,要根据不同的命令new 一个对象(这些对象就是Visitable的实现类),请问如果有100个命令,那我是不是要写100实现类,这里也会有很多if else,请教如果解决?谢谢!
public class VisitableFactory {
public static Visitable getVisitable(int commandId, StatSeqInfo record) {
Visitable v = null;
if (commandId == 1) {
v = new NewUserStat(record);
} else if (commandId == 81) {
v = new ChatRoomMoStat(record);
} else if (commandId == 82) {
v = new TroopMoStat(record);
} else if (commandId == 83) {
v = new PrivateMoStat(record);
}
return v;
}
}