我有一个delete(object)
方法应该根据要删除的对象执行不同的代码。
class MyService {
void delete(Object obj) {
if (obj instanceof Foo) {
//execute some foo deletion logic
}
if (obj instanceof Bar) {
//execute some bar deletion logic
}
//if... and so on
}
}
从设计的角度来看,我怎样才能避免instanceof
这里的检查?我不能delete()
在我的所有实现中引入一个方法,因为对象不应该知道它们应该如何删除自己。
那里还有什么?