ホームページ >バックエンド開発 >PHPチュートリアル >PHP設計パターンに基づくファクトリパターンの詳細な紹介_PHPチュートリアル
ファクトリ パターン: ファクトリ クラスは、パラメータに基づいてプロダクション クラスのどのインスタンスを作成するかを決定します。
ファクトリ クラス: 他のオブジェクトを作成するために特に使用されるメソッド クラス。つまり、オンデマンドで割り当て、選択用のパラメーターを渡し、特定のクラスを返します
機能: オブジェクト作成のカプセル化、オブジェクト作成の操作を簡素化します。つまり、ファクトリ クラスのメソッドを呼び出して必要なクラスを取得します
補足:
1. 主な役割: 抽象プロダクト (プロダクト)、具体プロダクト (具体的なプロダクト)、抽象ファクトリーの役割 (クリエイター)
2. メリットとデメリット
メリット: ファクトリ メソッド パターンを導入することができます。ファクトリの役割を変更せずに新しい製品を作成する
欠点: 顧客は、特定の Concrete Product オブジェクトを作成するためだけに Creator サブクラスを作成する必要がある場合があります
3. 適用性
クラスが作成する必要があるオブジェクトを知らない場合
クラスが必要な場合クラスがオブジェクト作成の責任を複数のヘルパー サブクラスの 1 つに委任し、どのヘルパー サブクラスが委譲者であるかについての情報をローカライズする必要がある場合 時間
public function __construct($A) $ B) {t $ this- & gt;
$ this- & gt; $ b;}} パブリック関数 setnumber ($ a, $ b) {
$ this- & gt; = $A;
}
/ /Operation クラス
class OperationAdd extends Operation{
Public function getResult(){ $ this-> _result = $ this-> _numbesera + $ this->_Result = $this->_NumberA - $this->_NumberB;
}
…………
//Factory クラス
class OperationFactory{
private static $obj
public static function CreationOperation( $type,$A,$B){
switch($type){
case '+'
ブレーク
}
}
// オペレーション
$ obj = OperationFactory :: CreationOperation ('+ ', 5,6);
echo $ obj- & gt;