Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Analisis ringkas tentang "Mod Prototaip" dalam pembelajaran corak reka bentuk PHP

Analisis ringkas tentang "Mod Prototaip" dalam pembelajaran corak reka bentuk PHP

PHPz
PHPzke hadapan
2023-03-23 09:01:24511semak imbas

Artikel ini akan membawa anda memahami mod prototaip corak reka bentuk PHP, memperkenalkan senario yang berkenaan, kelebihan dan kekurangan serta kod pelaksanaan Rakan-rakan yang berminat boleh lihat di bawah.

Analisis ringkas tentang

Mod prototaip ialah sejenis mod ciptaan. Terutamanya untuk pengklonan objek, objek yang diklon dipanggil prototaip Mungkin lebih sesuai untuk memanggil mod prototaip mod klon. Gunakan contoh prototaip untuk menentukan jenis objek untuk dibuat dan cipta objek baharu dengan menyalin prototaip ini.

Senario yang berkenaan:

  • Apabila overhed sumber untuk menginstant objek terlalu tinggi, anda boleh mengklonkannya secara langsung.

  • Anda perlu mencipta sejumlah besar objek dalam satu gelung Pengklonan juga merupakan pilihan yang baik pada masa ini.

Kelebihan:

  • Prestasi tinggi: Jika proses mencipta objek adalah rumit atau menggunakan banyak sumber , kemudian mengklonkannya secara langsung Proses ini boleh dipermudahkan dengan prestasi tinggi.

  • Ia adalah mudah untuk dilaksanakan Dalam sesetengah senario, berbanding dengan pelbagai pra-operasi objek instantiating, pengklonan kata kunci boleh melakukannya.

Kelemahan:

Objek klon tidak sama dengan objek prototaip, yang mungkin terjejas dalam sesetengah senario perniagaan

Kod:

//抽象出来一个操作系统的类
abstract class OS {
    public $os;
    //setOS可以理解为安装操作系统
    public function installOS($os) {
        $this->os = $os;
    }

    //runOS可以理解为运行操作系统
    public function runOS() {
        return $this->os . PHP_EOL;
    }

    //__clone方法是原型模式中需要有的,尽管可能用不上
    abstract function __clone();
}


class Windows extends OS{
    public function __clone() {}
}


class Linux extends OS{
    public function __clone() {}
}


//调用端============================================
//伟大的工程师们开发好了两套操作系统
$windows = new Windows();
$linux   = new Linux();

//把它们克隆到光盘上,分别给3个用户安装。这样就不用在从零开发操作系统了,直接复制开销极小,然后把它们运行起来。
for($i = 0; $i < 3; $i ++) {
    $new_windows = clone $windows;
    $new_windows->installOS(&#39;windows&#39;);
    echo $new_windows->runOS();
}


//把它们克隆到光盘上,分别给2个用户安装。这样就不用在从零开发操作系统了,直接复制开销极小,然后把它们运行起来。
for($j = 0; $j < 2; $j ++) {
    $new_linux = clone $linux;
    $new_linux->installOS(&#39;linux&#39;);
    echo $new_linux->runOS();
}

Pembelajaran yang disyorkan: "Tutorial Video PHP"

Atas ialah kandungan terperinci Analisis ringkas tentang "Mod Prototaip" dalam pembelajaran corak reka bentuk PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam