Rumah pembangunan bahagian belakang tutorial php php设计模式之单例、多例设计模式的应用分析_php技巧

php设计模式之单例、多例设计模式的应用分析_php技巧

May 17, 2016 am 08:57 AM
corak reka bentuk php Singleton

单例(Singleton)模式和不常见的多例(Multiton)模式控制着应用程序中类的数量。如模式名称,单例只能实例化一次,只有一个对象,多例模式可以多次实例化。

基于Singleton的特性,我们经常用Singleton配置应用程序并定义应用程序中可能随时访问的变量。但有时并不推荐使用Singleton,因为它生成了一个全局状态且

该单一根对象没有封装任何系统功能。多数情况下,会使单元测试和调试变得困难。读者根据情况自行决定。
代码示例:

复制代码 代码如下:

class SingletonExample{
    private function __construct(){}//防止直接实例化
  public static function getInstance(){ //不与任何对象有关联
 static $instance=null;    //调用此函数的所有代码共享该变量,不必要让其是类的静态变量
 if($instance==null){
   $instance=new SingletonExample();
     }
   return $instance;
  }
}
$obj1=SingletonExample::getInstance();
$obj2=SingletonExample::getInstance();
var_dump($obj1===$obj2);// true   是同一个实例
?>

Multiton与singleton相似,不同的是后者需要getInstance()函数传递关键值。
对于给定的关键值只会存在唯一的对象实例,如果有多个节点,每个节点拥有唯一的表识符,且各个节点在某单次执行(如cms里的节点)可能出现多次,那么就可以用Multiton模式实现这些节点啊,Multiton节省内存,并确保同一个对象的多个实例不发生冲突.
示例:
复制代码 代码如下:

  class MultitonExample{
 private function __construct(){}//防止直接实例化

   public static function getInstance($key){
  static $instance=array();   
  if(!array_key_exists($key,$instance)){
    $instance[$key]=new SingletonExample();
      }
    return $instance($key);
   }
 };
 ?>
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Paradigma pengaturcaraan biasa dan corak reka bentuk dalam bahasa Go Paradigma pengaturcaraan biasa dan corak reka bentuk dalam bahasa Go Mar 04, 2024 pm 06:06 PM

Sebagai bahasa pengaturcaraan yang moden dan cekap, bahasa Go mempunyai paradigma pengaturcaraan yang kaya dan corak reka bentuk yang boleh membantu pembangun menulis kod yang berkualiti tinggi dan boleh diselenggara. Artikel ini akan memperkenalkan paradigma pengaturcaraan biasa dan corak reka bentuk dalam bahasa Go dan memberikan contoh kod khusus. 1. Pengaturcaraan berorientasikan objek Dalam bahasa Go, anda boleh menggunakan struktur dan kaedah untuk melaksanakan pengaturcaraan berorientasikan objek. Dengan mentakrifkan struktur dan kaedah mengikat kepada struktur, ciri berorientasikan objek bagi pengkapsulan data dan pengikatan tingkah laku boleh dicapai. packagemaini

Corak reka bentuk yang biasa digunakan dalam PHP dan kaedah pelaksanaannya Corak reka bentuk yang biasa digunakan dalam PHP dan kaedah pelaksanaannya Jun 27, 2023 pm 01:08 PM

PHP adalah bahasa pengaturcaraan yang digunakan secara meluas dan sangat popular. PHP adalah bahagian yang sangat penting dalam aplikasi web hari ini. Corak reka bentuk memainkan peranan penting dalam membangunkan aplikasi PHP. Corak reka bentuk ialah templat untuk menyelesaikan masalah yang boleh digunakan semula dalam persekitaran yang berbeza Ia membantu kami menulis kod yang lebih baik dan menjadikan kod lebih dipercayai, boleh diselenggara dan berskala. Dalam artikel ini, kami akan meneroka beberapa corak reka bentuk yang biasa digunakan dalam PHP dan cara melaksanakannya. Corak Singleton Corak Singleton ialah corak ciptaan yang membolehkan

Apakah kaedah pelaksanaan corak tunggal di Golang? Apakah kaedah pelaksanaan corak tunggal di Golang? Mar 05, 2024 pm 05:45 PM

Terdapat tiga cara untuk melaksanakan mod tunggal dalam Golang: mod malas, mod lapar dan mod semak dua kali. Seterusnya, kami akan memperkenalkan ketiga-tiga kaedah pelaksanaan ini secara terperinci dan memberikan contoh kod khusus. 1. Mod malas Mod malas bermaksud tika tunggal dibuat hanya apabila ia dipanggil buat kali pertama Berikut ialah kod contoh mod malas: packagesingletonimport("sync")typeSingletonstru

Apakah corak reka bentuk dalam php? Apakah corak reka bentuk dalam php? Jul 25, 2023 am 09:39 AM

Corak reka bentuk PHP termasuk: 1. Mod Singleton, yang memastikan bahawa kelas hanya mempunyai satu objek instantiated; 2. Mod kilang, yang merangkumi proses instantiasi objek dalam kelas kilang; Corak kilang untuk mencipta objek; objek; 7. Corak iterator; 8. Corak strategi;

Apakah corak reka bentuk dalam PHP7.0? Apakah corak reka bentuk dalam PHP7.0? May 26, 2023 am 09:21 AM

Dengan perkembangan teknologi yang berterusan, corak reka bentuk menjadi semakin penting dalam pembangunan perisian. Sebagai versi PHP terkini, PHP7.0 juga menyepadukan banyak corak reka bentuk. Dalam artikel ini, kami akan meneroka corak reka bentuk dalam PHP7.0 untuk membantu pengaturcara PHP memahami dan menggunakan corak ini dengan lebih baik. Corak Singleton Corak tunggal ialah corak ciptaan yang memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan titik capaian global. Dalam PHP7.0, anda boleh menggunakan kaedah __construct dan kaedah statik untuk

Corak dan amalan reka bentuk teras PHP Corak dan amalan reka bentuk teras PHP Nov 08, 2023 pm 08:58 PM

Pengenalan kepada corak dan amalan reka bentuk teras PHP: Corak reka bentuk biasanya digunakan templat penyelesaian masalah dalam pembangunan perisian. Ia menyediakan penyelesaian yang boleh digunakan semula yang boleh membantu kami mengikuti amalan terbaik dan prinsip reka bentuk perisian yang baik semasa proses pembangunan. Sebagai bahasa pengaturcaraan yang digunakan secara meluas, PHP juga mempunyai banyak corak reka bentuk biasa dan berguna yang boleh digunakan dalam pembangunan teras. Artikel ini akan memperkenalkan beberapa corak reka bentuk PHP biasa dan menyediakan contoh kod yang berkaitan. 1. Mod Singleton (Singleton) Mod Singleton adalah jenis yang hanya membenarkan

Penjelasan terperinci tentang cara menggunakan corak reka bentuk dalam rangka kerja PHP Penjelasan terperinci tentang cara menggunakan corak reka bentuk dalam rangka kerja PHP Jun 09, 2023 am 11:55 AM

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam bidang pembangunan web, dan corak reka bentuk adalah kaedah penyelesaian masalah yang digunakan secara meluas dalam kejuruteraan perisian. Aplikasi corak reka bentuk boleh meningkatkan prestasi perisian dalam banyak aspek seperti kebolehskalaan, kebolehselenggaraan dan kebolehgunaan semula, dan boleh menyelesaikan tugas dengan lebih cepat dan mengurangkan pertindihan kod. Dalam PHP, corak reka bentuk sering digunakan untuk meningkatkan prestasi rangka kerja dan mengatur dan mengurus kod dengan lebih baik. Oleh kerana rangka kerja itu perlu mengendalikan sejumlah besar logik perniagaan dan proses perniagaan yang kompleks, corak reka bentuk boleh membantu pembangun

Bagaimana untuk memastikan keunikan singleton di Golang? Bagaimana untuk memastikan keunikan singleton di Golang? Mar 06, 2024 am 08:03 AM

Tajuk: Menjamin Keunikan Singleton dalam Golang Dalam pengaturcaraan, corak singleton ialah corak reka bentuk biasa yang digunakan untuk memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan titik akses global. Di Golang, kita boleh melaksanakan corak tunggal dengan menggunakan jenis Sekali dan penyegerakan. Sekali dalam pakej penyegerakan untuk memastikan keunikan tunggal. 1.sync.Once melaksanakan mod singleton Berikut ialah kod sampel yang menggunakan sync.Once untuk melaksanakan mod singleton: packagesingle

See all articles