>>238
> コンパイル時に検証できないうえにファクトリでダウンキャストしないといけないのに?

周辺ライブラリを使えばダウンキャストは不要。
例えばStrutsのActionに最初から依存Serviceへの
参照がセットされてるとか。

というかむしろダウンキャストしない使い方が標準。