16/08/23 12:23:20.88 0RGf95YO0.net
>>175
ちゃんとfactoryやるならfactory自体も抽象化した方がいいよ
Func<StreamReader, Shape>(もちろんインターフェイスでもいいけど)を外から受け取るようにする
そうすることで特定のファクトリメソッドがすべての派生クラスを知っている必要がなくなり、
派生クラスの追加や単体テスト時の差し替えが容易になる
パブリックなライブラリでstaticなファクトリメソッドが多いのは、
その性質上ありうる派生クラスが決まっていることが多いし利用者の利便性を優先しているため
アプリだと派生クラスがポコポコ増えるので考え方は違ってくる