PHPファクトリーのデザインパターン

一个新手
リリース: 2023-03-15 22:48:02
オリジナル
1126 人が閲覧しました

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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート