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