何の話をしてるのかなってちょっと上からレス読んでみたけど、
>>352の話ならShapeがDrawを持っても別に必ずしもおかしくないし、
持たせたくないならShapeで描画側が要求する描画に必要なデータを提供する
一連のメソッドやプロパティを定義しておけば済む話だよね。

描画側で型を見て分岐なんてどう贔屓目に見ても最悪のやり方にしか思えんね俺も。