パターン指向リファクタリング入門/Creation Methodによるコンストラクタの置き換え
1つのパッケージ内にある共通のインタフェースを実装しているクラス群を、クライアントが直接インスタンス化 している。
クラスのコンストラクタを場ブリックでなくし、クライアントにはFactory経由でインスタンスを生成させる。
クライアントが直接クラスをインスタンス化できて役立つのは、それらのクラスの存在そのものを知る必要が ある場合だけである。
「共通インタフェースを実装したインスタンスを生成して返す」という責務をFactoryに持たせることで、クライアントからパッケージ内のクラスを隠蔽することができる。 これによって、