У меня есть метод, который получает объект и что-то делает в зависимости от того, какой тип объекта он обнаруживает:
void receive(Object object) {
if (object instanceof ObjectTypeA) {
doSomethingA();
}
else {
if (object instanceof ObjectTypeB) {
doSomethingB();
}
else {
if (object instanceof ObjectTypeC) {
doSomethingC();
}
else {
if (object instanceof ObjectTypeD) {
doSomethingD();
}
else {
// etc...
}
}
}
}
}
Как я могу уменьшить цикломатическую сложность? Я поискал, но не нашел ничего слишком полезного.
instanceof
всегда заставляют меня содрогаться. - person Andrew Thompson   schedule 02.05.2011