ホームページ >よくある問題 >抽象ファクトリー パターンの欠点は何ですか?

抽象ファクトリー パターンの欠点は何ですか?

hzc
hzcオリジナル
2020-06-29 16:01:362860ブラウズ

抽象ファクトリ モデルの欠点は次のとおりです: 1. 新しい製品レベル構造の追加が非常に複雑; 2. 抽象ファクトリとすべての特定のファクトリ クラスを変更する必要があり、「オープニングとファクトリ クラス」のサポートクロージング原則」が傾いています。

抽象ファクトリー パターンの欠点は何ですか?

欠点:

新しい製品レベル構造を追加するのは非常に複雑で、抽象ファクトリーとすべての具体的な構造を変更する必要があります。ファクトリークラス 「原則」のサポートは傾いています。

適用可能なシナリオ

作成する必要があるオブジェクトが、相互関連または相互依存する一連の製品ファミリーである場合、抽象ファクトリー パターンを使用できます。より明確に言うと、継承システムでは、複数の階層構造があり (つまり、複数の抽象クラスがあり)、各階層構造に属する実装クラス間に特定の関連付けまたは制約がある場合、抽象的な工場のパターン。各階層構造内の実装クラス間に関係や制約がない場合は、複数の独立したファクトリーを使用して製品を作成する方が適切です。

概要

単純なファクトリ パターン、ファクトリ メソッド パターン、抽象的なファクトリ パターンのいずれであっても、それらはすべてファクトリ パターンに属しており、形式と特性が非常に似ています。目標はデカップリングです。これを使用する場合、このパターンがファクトリ メソッド パターンであるか抽象ファクトリ パターンであるかを心配する必要はありません。これらの間の進化はしばしば混乱を招くためです。新しい要件が発生し、明確に使用されているファクトリ メソッド パターンに新しいメソッドが追加されると、クラス内の製品が異なる階層構造の製品ファミリを構成するため、抽象ファクトリ パターンになることがよくあります。 、提供される製品が製品ファミリーを構成しないように 1 つのメソッドが削減されると、それはファクトリー メソッド パターンに進化します。

したがって、ファクトリ パターンを使用するときは、結合を減らすという目的が達成されるかどうかだけを気にする必要があります。

以上が抽象ファクトリー パターンの欠点は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。