1. ファクトリ パターン
は、オブジェクトを作成する特定のメソッドを持つクラスです。 new を直接使用せずに、ファクトリ クラスを使用してオブジェクトを作成できます。このようにすると、作成されるオブジェクトのタイプを変更する場合は、ファクトリを変更するだけで済みます。このファクトリを使用するすべてのコードは自動的に変更されます。
次のコードは、ファクトリ クラスの例です。この方程式のサーバー側は、データベースと、フィードバックの追加、フィードバックのリストの要求、および特定のフィードバックに関連する記事の取得を可能にする一連の PHP ページの 2 つの部分で構成されます。
IUser インターフェイスは、ユーザー オブジェクトが実行する必要がある操作を定義します:
interface IUser { function getName(); }
IUser の実装は User と呼ばれます:
class User implements IUser { public function __construct( $id ) { } public function getName() { return "Jack"; } }
UserFactory ファクトリ クラスは IUser オブジェクトを作成します:
class UserFactory { public static function Create( $id ) { return new User( $id ); } }
テストコードがファクトリに送信されます User
对象,并输出 getName
メソッドをリクエストした結果:
$pr = UserFactory::Create( 1 );echo( $pr->getName()."\n" );
ファクトリ メソッドを使用するファクトリ パターンのバリアントがあります。クラス内のこれらのパブリック静的メソッドは、その型のオブジェクトを構築します。このメソッドは、このタイプのオブジェクトを作成することが重要な場合に役立ちます。たとえば、オブジェクトを作成し、いくつかのプロパティを設定する必要があるとします。このバージョンのファクトリ パターンはプロセスを 1 か所にカプセル化するため、複雑な初期化コードをコピーしてコード ベース全体に貼り付ける必要がありません。
以上がPHP における一般的なファクトリ デザイン パターンの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。