如何降低其复杂性?
问题内容:
我有一个接收对象并根据其检测到的对象类型执行某些操作的方法:
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...
}
}
}
}
}
如何降低环复杂性?我四处搜寻,但找不到任何有用的资讯。
问题答案:
您不能为此使用面向对象的方法吗?创建具有该doSomething()
方法的接口,然后创建实现所需行为的子类?然后调用object.doSomething()
将执行适当的行为?