¿Cómo puedo reducir la Complejidad Ciclomática de esto?
Tengo un método que recibe un objeto y hace algo en función del tipo de objeto que detecta:
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...
}
}
}
}
}
¿Cómo puedo reducir la Complejidad Ciclomática? Busqué alrededor pero no pude encontrar nada demasiado útil.