Я имею следующую структуру класса:Есть ли лучший способ реализовать простой Factory с двумя условиями?
MyClass
FirstClass
FirstClassVersion1
FirstClassVersion2
SecondClass
SecondClassVersion1
SecondClassVersion2
В определенный момент мне нужна ссылка на MyClass в соответствии с номером класса и классом версией, поэтому я создал простой завод. Но мой завод немного сложный, как следует:
public class MyClassFactory {
public static MyClass createMyClass(int classNumber, int classVersion) throws Exception {
if (classNumber == 1) {
if (classVersion == 1) {
return new FirstClassVersion1();
} else if (classVersion == 2) {
return new FirstClassVersion2();
}
} else if (classNumber == 2) {
if (classVersion == 1) {
return new SecondClassVersion1();
} else if (classVersion == 2) {
return new SecondClassVersion2();
}
}
throw new Exception("...");
}
}
Есть ли лучший способ сделать это?