ホームページ  >  記事  >  バックエンド開発  >  ファクトリーパターンとは何ですか?

ファクトリーパターンとは何ですか?

藏色散人
藏色散人転載
2019-04-15 16:00:197090ブラウズ

ファクトリ パターン (ファクトリ パターン) は、最も一般的に使用されるインスタンス化オブジェクト パターンであり、ファクトリ メソッドを使用して新しい操作を置き換えるパターンです。有名な Jive フォーラムではファクトリ パターンが広く使用されており、ファクトリ パターンは Java プログラム システムのいたるところで見られます。ファクトリ パターンはインスタンス オブジェクトを作成する場合の new と同等であるため、A a=new A() など、クラス Class に基づいてインスタンス オブジェクトを生成することがよくあります。

ファクトリ モードはインスタンス オブジェクトの作成にも使用されるため、今後、新しいことを行うときは注意する必要があります。ファクトリ モードの使用を検討できますか? そうすることでより多くの作業が必要になる可能性がありますが、実行すると問題が発生します。システムの拡張性が向上し、変更は最小限に抑えられます。

<?php
//汽车类
class car{
    public function run(){
    echo &#39;car run .....&#39;;
    }
}
class bus{
    public function run(){
        echo &#39;bus run .....&#39;;
    }
}
//创建一个汽车工厂类用于生产汽车对象
class carFactory{
    public static function getACar($type){
if($type == &#39;car&#39;){
    return new car();
}else{
    return new bus();
}
    }
}
//调用演示
$car = carFactory::getACar(&#39;bus&#39;);
$car->run();

プロジェクトが進行するにつれて、バス クラスと自動車クラスが「多数の息子を生み出す」可能性があるため、これらの息子を 1 つずつインスタンス化する必要があります。さらに悪いことに、前のクラスもインスタンス化する必要があるかもしれません。車のクラス名やファイル名の変更、車やバスのコンストラクターの設定など、コードが変更されます。エンジニアリング モードを使用しない場合は、対応する呼び出しファイルとコードを変更する必要があります (バグを引き起こす方法を忘れました!!)。

しかし、最初から意識してファクトリーパターンを使えば、こうした悩みは解消されます。

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

声明:
この記事はhcoder.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。