Rumah > hujung hadapan web > tutorial js > Javascript melaksanakan kemahiran singleton mode_javascript

Javascript melaksanakan kemahiran singleton mode_javascript

WBOY
Lepaskan: 2016-05-16 15:18:24
asal
1052 orang telah melayarinya

Mod tunggal juga dipanggil mod monad, dan lebih biasa ia juga dipanggil mod tunggal. Ia adalah corak reka bentuk yang agak mudah tetapi paling biasa digunakan dalam reka bentuk perisian.

Pengenalan kepada mod tunggal:

Apabila menggunakan corak tunggal, kelas yang menjana singleton mesti memastikan bahawa hanya satu kejadian dalam banyak kes, keseluruhan sistem hanya perlu mempunyai satu objek global untuk menyelaraskan keseluruhan gelagat sistem. Sebagai contoh, dalam fail konfigurasi keseluruhan sistem, data konfigurasi mempunyai objek tunggal untuk bacaan dan pengubahsuaian bersatu Apabila objek lain memerlukan data konfigurasi, mereka juga memperoleh data konfigurasi melalui objek tunggal ini pengurusan konfigurasi.

Idea corak tunggal ialah: kelas boleh mengembalikan rujukan kepada objek (dan ia akan sentiasa sama) dan kaedah untuk mendapatkan contoh (kaedah statik, biasanya menggunakan nama getInstance). Kemudian apabila kita memanggil kaedah ini, jika rujukan yang dipegang oleh kelas tidak kosong, rujukan akan dikembalikan jika tidak, contoh kelas akan dibuat, dan rujukan contoh akan diberikan kepada rujukan yang dipegang oleh kelas dan. kemudian kembali. Pada masa yang sama, takrifkan pembina kelas sebagai kaedah persendirian untuk menghalang fungsi lain daripada menggunakan pembina untuk membuat instantiate objek, dan hanya mendapatkan satu-satunya contoh kelas melalui kaedah statik kelas.

Secara amnya, Javascript menjana tika setiap kali objek baharu dibuat dan tika itu menghala ke alamat yang berbeza. Seperti ini:

(function(){
function Person(name){
this.name = name;
}
Person.prototype.work = function(){
console.log(this.name + " is working");
}
var p1 = new Person("Darren");
p1.work();
var p2 = new Person("Jack");
p2.work();
}());
Salin selepas log masuk

Di atas, setiap kali objek Orang baharu dicipta, ia akan berbeza.

Bagaimana untuk melaksanakan corak tunggal dalam Javascript?

--Apabila menjana objek, tentukan dahulu sama ada objek itu wujud. Jika ia wujud, objek tidak akan dihasilkan; jika ia tidak wujud, objek akan dijana.

(function(){
var PersonSingleton = (function(){
var instance;
function init(){
return {
name: 'Anonymous',
work: function(){
console.log(this.name + ' working');
}
};
}
return {
getInstance: function(){
if(!instantiated){
instantiated = init();
}
return instantiated;
}
}
})();
var p1 = PersonSingleton.getInstance();
p1.work();
var p2 = PersonSingleton.getInstance();
p2.work();
}());
Salin selepas log masuk

Di atas, tika yang diperoleh melalui kaedah getInstance objek PsonSingleton adalah sama setiap kali.

Itu sahaja pengetahuan yang berkaitan tentang mod tunggal JavaScript diperkenalkan di sini. Saya harap ia akan membantu semua orang.

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan