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()オブジェクトは自分自身を削除する方法を認識できないため、実装のすべてにメソッドを導入することはできません。
他には何があるの?