私はファクトリ デザイン パターンについてさらに学習していて、Microsoft の次の例に出くわしました (Java で再コーディングしました)。例はこちら
短縮版:
抽象製品クラス
Product を拡張する具象 Product クラス
抽象 Factory クラス
Factory を拡張する Concrete Factory クラス
アセンブリ クラス
public class ProductAssembler { public void AssembleProduct(Factory factory) { Product p = factory.getProduct(); //do something } }
クライアント
public static void main(String[] args) { Factory factory = new ConcreteFactory(); new ProductAssembler().AssembleProduct(factory); }
質問:
- 製品オブジェクトの代わりにメイン メソッドでファクトリ オブジェクトを作成する目的は何ですか? 製品オブジェクトを assembleproduct メソッドに渡して、そのメソッドを変更して、ファクトリの代わりに製品を受け入れるようにしないのはなぜですか?
- アセンブリ クラスも「クライアント」の一部ですか?
ありがとう