1

この質問を却下する前に、私は実際にこれを実際的な質問として尋ねており、会話を刺激するためではありません. これが私のシナリオです

私は多くの場合、Abstract Factory は Factory Method よりも一歩進んだ実装であると読んでおり、多くの状況でこれが正しい理由を理解できます。私はこれら 2 つの違いについてもかなりよく理解していますが、最近、これら 2 つを一緒に使用するように指示されたシナリオに遭遇しました。

これを行う方法は頭を悩ませてきましたが、それが良い習慣として推奨されるかどうかはまだわかりません.

これらのパターンの両方を適用して共存させることが実際的である例を教えていただけますか? そうでない場合、それは悪い習慣ですか?

これらのパターンの辞書定義を提供するサイトに誘導しないでください。私はそれぞれのパターンをよく知っており、毎日使用していますが、両方が必要な状況に遭遇したことはありません。ありがとうございます。

4

1 に答える 1

1

すでにファクトリ メソッドを使用している 1 つのクラスがあり、そのメソッドを別の定義済みの抽象ファクトリで実装したい場合は、2 つの間にアダプタを作成できます。

public class FactoryAdapter : ClassUsingFactoryMethod
{
    private readonly IFactory factory;

    public FactoryAdapter(IFactory factory)
    {
        this.factory = factory;
    }

    protected override Foo CreateFoo()
    {
        return this.factory.Create();
    }
}
于 2011-04-04T05:27:22.897 に答える