Corak Singleton dalam JavaScript: Mencapai Kesederhanaan dan Kebersihan
Dalam JavaScript, melaksanakan corak singleton boleh dicapai dalam pelbagai cara, tetapi apa yang wujud keluar adalah mengejar kesederhanaan dan kebersihan. Satu pendekatan yang merangkumi kualiti ini ialah penciptaan langsung objek literal, seperti yang dilihat di bawah:
var myInstance = { method1: function () {}, method2: function () {} };
Kaedah ini mewujudkan antara muka awam melalui literal objek, menjadikan ahlinya boleh diakses oleh bahagian lain kod.
Walau bagaimanapun, jika ahli persendirian dikehendaki, corak modul muncul sebagai penyelesaian popular:
var myInstance = (function() { var privateVar = ''; function privateMethod () {} return { // public interface publicMethod1: function () {}, publicMethod2: function () {} }; })();
Corak modul memanfaatkan penutupan untuk merangkum ahli persendirian dalam contoh tunggal.
Untuk mengelakkan pengubahsuaian dan memastikan kebolehubahan, kaedah ES5 Object.freeze boleh digunakan:
Object.freeze(myInstance);
Tindakan ini menjamin bahawa sebarang perubahan kepada struktur atau nilai objek tunggal ditolak.
Dalam ES6, ES Modul menyediakan penyelesaian yang elegan untuk mencipta singleton:
// my-singleton.js const somePrivateState = [] function privateFn () {} export default { method1() {}, method2() {} }
Skop modul menempatkan kedua-dua kaedah awam dan pembolehubah persendirian dengan mudah. Mengimport singleton ke dalam modul lain kekal sebagai tugas yang mudah:
import myInstance from './my-singleton.js'
Dengan menggunakan pendekatan ini, anda memperkasakan kod JavaScript anda dengan kepelbagaian dan kesederhanaan corak tunggal, membolehkan akses terkawal dan pengurusan sumber dikongsi.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Corak Singleton yang Mudah dan Bersih dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!