"登録する方法として仮にオブジェクトに対するファクトリがあるならば、すべての種類のファクトリは1つの登録方法を使用すべきです。"の意味がちょっとわかりづらい。返すだけとかなら、コンパイルで怒られた方が実行時にわかるよりは嬉しい気がする。実際問題インターフェースの一貫性を保つのは難しい。してインターフェースを見せたいが、実装を禁止させる方法が欲しい。ないのはもったいない。マルチプラットフォームなのに。いうものは、使ってみて問題が初めてわかることの方が多い。