什么是单例模式?

Apr 15, 2019 pm 04:04 PM
Corak singleton



单例模式(Singleton pattern)是一种常用的软件设计模式。在它的核心结构中只包含一个被称为单例类的特殊类。通过单例模式可以保证系统中一个类只有一个实例而且该实例易于外界访问,从而方便对实例个数的控制并节约系统资源。如果希望在系统中某个类的对象只能存在一个,单例模式是最好的解决方案。

如何保证一个类只有一个实例并且这个实例易于被访问呢?定义一个全局变量可以确保对象随时都可以被访问,但不能防止我们实例化多个对象。一个更好的解决办法是让类自身负责保存它的唯一实例。这个类可以保证没有其他实例被创建,并且它可以提供一个访问该实例的方法。这就是单例模式的模式动机。

例如我们在php的开发过程中我们创建了一个db类(数据库操作类),那么我们希望再一个php文件中一个数据库只被连接一次而一个php文件中也只需要一个数据库对象!因为多次连接数据库会大大降低php的执行效率。也会带来极大的系统开销!

使用单例模式来封装你的数据库吧

<?php
class db
{
//使用一个静态变量记录db对象初始化时为null
public static $db = null;
/* 私有构造函数是类无法完成外部的调用
* 意味着您将无法使用 $xx = new db();
*/
private function __construct(){
echo &#39;连接数据库....&#39;;
}
/* 
* 使用静态方法去获取数据对象
* 获取时先判断db对象是否已经存在,如果存在则直接返回db对象反正则创建这个对象
*/
public static function getInstance(){
if(self::$db == null){
self::$db = new db();
}
return self::$db;
}
public function query($sql){
echo &#39;执行sql命令&#39;;
}
public function __destruct(){
echo &#39;关闭数据库连接....&#39;;
}
}
$db = db::getInstance();
$db1 = db::getInstance();
$db->query(&#39;test&#39;);
$db2 = db::getInstance();
//输出 : 连接数据库....执行sql命令关闭数据库连接....
Salin selepas log masuk

//可以看到不论我们获取多少次db对象,虽然他们名称不同,但都代表着同一个对象!这样就实现单例模式!



Atas ialah kandungan terperinci 什么是单例模式?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Cara Membuka Segala -galanya Di Myrise
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)

Satu artikel untuk memahami corak tunggal dalam JavaScript Satu artikel untuk memahami corak tunggal dalam JavaScript Apr 25, 2023 pm 07:53 PM

Corak singleton JS ialah corak reka bentuk yang biasa digunakan yang memastikan bahawa kelas hanya mempunyai satu contoh. Mod ini digunakan terutamanya untuk mengurus pembolehubah global untuk mengelakkan konflik penamaan dan pemuatan berulang. Ia juga boleh mengurangkan penggunaan memori dan meningkatkan kebolehselenggaraan dan skalabiliti.

Aplikasi mod tunggal dan mod kilang dalam fungsi C++ membebankan dan menulis semula Aplikasi mod tunggal dan mod kilang dalam fungsi C++ membebankan dan menulis semula Apr 19, 2024 pm 05:06 PM

Corak Singleton: Sediakan contoh tunggal dengan parameter berbeza melalui lebihan fungsi. Corak kilang: Cipta pelbagai jenis objek melalui penulisan semula fungsi untuk memisahkan proses penciptaan daripada kelas produk tertentu.

Bermula dengan PHP: Corak Singleton Bermula dengan PHP: Corak Singleton May 20, 2023 am 08:13 AM

Dalam pembangunan perisian, kita sering menghadapi situasi di mana berbilang objek perlu mengakses sumber yang sama. Untuk mengelakkan konflik sumber dan meningkatkan kecekapan program, kami boleh menggunakan corak reka bentuk. Antaranya, corak tunggal ialah cara yang biasa digunakan untuk mencipta objek, yang memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan akses global. Artikel ini akan memperkenalkan cara menggunakan PHP untuk melaksanakan corak tunggal dan memberikan beberapa cadangan amalan terbaik. 1. Apakah mod tunggal? Mod tunggal adalah cara yang biasa digunakan untuk mencipta objek. Ciri-cirinya adalah untuk memastikan bahawa kelas hanya mempunyai satu contoh

Dalam PHP, apakah konsep corak reka bentuk tunggal? Dalam PHP, apakah konsep corak reka bentuk tunggal? Aug 18, 2023 pm 02:25 PM

Corak Singleton memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan pusat akses global. Ia memastikan bahawa hanya satu objek tersedia dan terkawal dalam aplikasi. Corak Singleton menyediakan cara untuk mengakses objek uniknya secara langsung tanpa membuat instantiating objek kelas. Contoh&lt;?php classdatabase{ publicstatic$connection;

Corak Reka Bentuk PHP: Laluan ke Kecemerlangan Kod Corak Reka Bentuk PHP: Laluan ke Kecemerlangan Kod Feb 21, 2024 pm 05:30 PM

Pengenalan Corak reka bentuk PHP ialah satu set penyelesaian yang terbukti kepada cabaran biasa dalam pembangunan perisian. Dengan mengikut corak ini, pembangun boleh mencipta kod yang elegan, teguh dan boleh diselenggara. Mereka membantu pembangun mengikuti prinsip SOLID (tanggungjawab tunggal, tertutup terbuka, penggantian Liskov, pengasingan antara muka dan penyongsangan kebergantungan), dengan itu meningkatkan kebolehbacaan kod, kebolehselenggaraan dan kebolehskalaan. Jenis Corak Reka Bentuk Terdapat banyak corak reka bentuk yang berbeza, masing-masing mempunyai tujuan dan kelebihan tersendiri. Berikut ialah beberapa corak reka bentuk PHP yang paling biasa digunakan: Corak Singleton: Memastikan kelas hanya mempunyai satu tika dan menyediakan cara untuk mengakses tika ini secara global. Corak Kilang: Mencipta objek tanpa menyatakan kelas tepatnya. Ia membolehkan pemaju bersyarat

Senario aplikasi dan proses keselamatan benang bagi mod tunggal dalam sistem teragih PHP Senario aplikasi dan proses keselamatan benang bagi mod tunggal dalam sistem teragih PHP Oct 15, 2023 pm 04:48 PM

Senario aplikasi dan proses keselamatan benang mod tunggal dalam sistem teragih PHP Pengenalan: Dengan perkembangan pesat Internet, sistem teragih telah menjadi topik hangat dalam pembangunan perisian moden. Dalam sistem teragih, keselamatan benang sentiasa menjadi isu penting. Dalam pembangunan PHP, corak tunggal ialah corak reka bentuk yang biasa digunakan, yang boleh menyelesaikan masalah perkongsian sumber dan keselamatan benang dengan berkesan. Artikel ini akan menumpukan pada senario aplikasi dan proses keselamatan benang bagi corak tunggal dalam sistem teragih PHP dan menyediakan contoh kod khusus. 1. Mod tunggal

Membongkar rahsia corak reka bentuk PHP Membongkar rahsia corak reka bentuk PHP Feb 21, 2024 pm 01:19 PM

1. Apakah corak reka bentuk PHP? Corak reka bentuk PHP ialah templat kod pratakrif yang direka untuk menyelesaikan masalah pembangunan perisian biasa. Mereka menyediakan penyelesaian terbukti yang meningkatkan kebolehgunaan semula kod, kebolehselenggaraan dan kebolehskalaan. 2. Jenis corak reka bentuk PHP Terdapat banyak corak reka bentuk yang berbeza dalam PHP, dan setiap corak mempunyai tujuan tertentu. Corak yang paling biasa termasuk: Corak Singleton: Memastikan hanya terdapat satu contoh kelas. Corak Kilang: Mencipta objek daripada jenis yang berbeza berdasarkan data yang dihantar kepadanya. Mod strategi: Membenarkan atur cara menukar kelakuannya semasa masa jalan. Corak Pemerhati: Membenarkan objek melanggan acara dan dimaklumkan apabila peristiwa berlaku. 3. Contoh mod Singleton classSingleInstance{private

Analisis senario aplikasi biasa corak tunggal dalam PHP Analisis senario aplikasi biasa corak tunggal dalam PHP Oct 15, 2023 pm 01:25 PM

Gambaran keseluruhan analisis senario aplikasi biasa corak tunggal dalam PHP: Corak tunggal (SingletonPattern) ialah corak reka bentuk ciptaan yang memastikan bahawa kelas hanya mempunyai satu tika dan menyediakan pusat akses global untuk mengakses tika. Dalam PHP, menggunakan mod tunggal boleh mengehadkan bilangan instantiasi dan penggunaan sumber kelas secara berkesan, dan meningkatkan prestasi dan kebolehselenggaraan kod. Artikel ini akan menganalisis senario aplikasi biasa dan memberikan contoh kod PHP khusus untuk menggambarkan penggunaan dan faedah corak tunggal. Paip sambungan pangkalan data

See all articles