Como posso reduzir a complexidade ciclomática disso?
Eu tenho um método que recebe um Objeto e faz algo com base no tipo de objeto que ele 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...
}
}
}
}
}
Como posso reduzir a complexidade ciclomática? Eu procurei, mas não encontrei nada muito úti