そんな訳で、Fooの生成をファクリトリに任せるのが王道。これでMainはFooFactoryとFooインタフェースにのみ依存します。
そんな訳で、Fooの生成をファクリトリに任せるのが王道。これでMainはFooFactoryとFooインタフェースにのみ依存します。
public class Main { public static void main(String[] args) { Foo foo = FooFactory.createFoo(); // Fooの生成はファクトリに任せる foo.foo(); foo.bar(); foo.baz(); } }