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

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

hzc
hzcオリジナル
2020-06-29 15:59:244521ブラウズ

抽象ファクトリ パターンの利点は次のとおりです: 1. 抽象ファクトリ パターンは特定のクラスの生成を分離するため、顧客は何が作成されるかを知る必要がありません; 2. 製品ファミリー内の複数のオブジェクトが一緒に設計される 作業中、クライアントは常に同じ製品ファミリーのオブジェクトのみを使用することが保証されます。

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

利点:

1. 抽象ファクトリ パターンは特定のクラスの生成を分離するため、顧客は何が作成されるかを知る必要がありません。 。

2. 製品ファミリー内の複数のオブジェクトが連携して動作するように設計されている場合、クライアントは常に同じ製品ファミリー内のオブジェクトのみを使用するようにできます。

3. 新しい特定の工場や製品ファミリーを追加するのに非常に便利です。既存のシステムを変更する必要はありません。「開閉原則」に準拠しています。

適用可能なシナリオ

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

概要

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

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

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

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