1

Factory Method パターンを読みました。後者の例を設計するときに問題があります。

パターンに最適なデザインは? 誰でも私に提案を与えることができますか?

     AbstractProduct                   Creator
         /     \                        /   \
    Product1 Product2             Creator1 Creator2



        AbstractProduct                         ? How to design Creator ?
       /     |         \
Product1 Product2 SubAbstractProduct
                       /     \
                  Product3 Product 4
4

1 に答える 1

1

Product3Product4を作成する Concrete Creatorは依然としてAbstractProductであるため、 Creatorは前の例と同じ方法で設計できます。

コメントに答える:

あまり。このAbstractProduct createProduct()が子の Concrete Creator クラス (ファクトリ パターン) でオーバーライドされると、SubAbstractProductを返すことができます。

Java 1.5以降、Javaで上記(つまり、親クラスのメソッドで返されるもののサブタイプを返すオーバーライドされたメソッド)を実行できることを追加したかっただけです。

于 2012-07-02T05:49:53.960 に答える