OOP 2
■ このスレッドは過去ログ倉庫に格納されています
0607デフォルトの名無しさん
2010/12/02(木) 09:41:24両方の型でポリモしたいようなときはobj.method(obj2);じゃ正直まんどいよな。
だからダブルディスパッチに、苦肉の策でVisitorパターンなんか使うわけで。
A, B, C, D, Eクラスがあって相互に衝突検出を使用とした時とか。
そこに追加でFクラスが来たとき、全部のクラスに追記が必要だし、
AとBの衝突を「どっちに書くのか?」という問題もあり、
A.衝突(B)とB.衝突(A)に矛盾がないようにしようとするなら、
互いに実装について申し合わせてないといけない? これはなんとかなる?
Visitorパターン使ったとしても、やったことあるやつなら分かるが煩雑。
あーしてこーしてこう。そんなんするくらいならマルチメソッドとやらで、
衝突(A, B)と書かせてもらうほうがよっぽどラク。よっぽど自然。
これは、ダブルディスパッチせざるを得ない状況が設計として悪いのか、
どうなのか、ちょっと先に考えてみたい気もするが。
■ このスレッドは過去ログ倉庫に格納されています