Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk melaksanakan corak tunggal menggunakan JavaScript

Bagaimana untuk melaksanakan corak tunggal menggunakan JavaScript

PHPz
PHPzasal
2023-04-26 14:24:22790semak imbas

Dalam JavaScript, corak tunggal ialah corak reka bentuk yang sangat biasa. Dalam pembangunan sebenar, corak tunggal sering digunakan untuk mengehadkan bilangan instantiasi kelas dan memastikan bahawa terdapat hanya satu contoh di seluruh dunia. Dalam artikel ini, kami akan memperkenalkan cara melaksanakan corak tunggal menggunakan JavaScript.

Corak tunggal bermakna setiap kelas hanya boleh mempunyai satu tika. Ia ialah corak penciptaan objek yang digunakan untuk memastikan bahawa kelas hanya mempunyai satu tika dan menyediakan pusat akses global kepada tika itu.

Corak tunggal digunakan secara meluas dalam JavaScript. Ramai pembangun menggunakan corak tunggal untuk menyelesaikan masalah instantiasi objek berulang dalam aplikasi, serta untuk mengurus keadaan global aplikasi.

Dalam JavaScript, terdapat banyak cara untuk melaksanakan corak tunggal. Di bawah, saya akan memperkenalkan dua kaedah yang paling biasa digunakan: penutupan dan corak modul.

Gunakan penutupan untuk melaksanakan corak tunggal

Penutupan JavaScript ialah corak reka bentuk yang sangat biasa. Ia dilaksanakan menggunakan skop fungsi dan rantai skop. Corak tunggal boleh dilaksanakan menggunakan penutupan kerana ia menjamin bahawa terdapat hanya satu contoh objek global.

Objek tunggal boleh dilaksanakan melalui fungsi, yang mengembalikan fungsi:

var Singleton = (function() {
  var instance;

  function init() {
    // 私有变量和方法
    var privateVar = "I am private!";
    function privateMethod() {
      console.log(privateVar);
    }

    // 公共属性和方法
    return {
      publicVar: "I am public!",
      publicMethod: function() {
        privateMethod();
      }
    };
  }

  return {
    getInstance: function() {
      if (!instance) {
        instance = init();
      }
      return instance;
    }
  };
})();

var obj1 = Singleton.getInstance();
var obj2 = Singleton.getInstance();

console.log(obj1 === obj2); // true

Dalam kod di atas, kaedah getInstance() mengembalikan tika kelas Singleton A objek dicipta apabila kaedah getInstance() dipanggil sekali.

Pembolehubah peribadi dan kaedah persendirian ditakrifkan dalam fungsi init() kaedah persendirian dan pembolehubah persendirian ini hanya boleh diakses di dalam fungsi init() dan tidak boleh diakses dari luar.

publicVar dan publicMethod ialah sifat dan kaedah awam. Mereka boleh diakses secara luaran menggunakan objek Singleton.

Apabila Singleton.getInstance() diakses untuk kali kedua, corak singleton sudah wujud, jadi hanya kembalikan objek yang dibuat asal. Ini dicapai dengan mengembalikan rujukan daripada pembolehubah contoh.

Gunakan corak modul untuk melaksanakan corak tunggal

Corak modul juga merupakan corak reka bentuk biasa yang membolehkan kita mencipta objek tunggal. Corak modul menggunakan pembolehubah peribadi dan fungsi dalam penutupan untuk menyembunyikan butiran pelaksanaan objek. Menggunakan corak modul memudahkan untuk mencipta objek dengan pembolehubah dan fungsi peribadi.

Untuk melaksanakan objek tunggal, anda boleh menggunakan kod berikut:

var Singleton = (function() {
  // 私有变量和方法
  var privateVar = "I am private!";
  function privateMethod() {
    console.log(privateVar);
  }

  // 公共属性和方法
  return {
    publicVar: "I am public!",
    publicMethod: function() {
      privateMethod();
    }
  };
})();

var obj1 = Singleton;
var obj2 = Singleton;

console.log(obj1 === obj2); // true

Dalam kod di atas, anda boleh melihat bahawa kami mencipta objek bernama Singleton, yang mempunyai ahli objek awam (publicVar) dan kaedah objek awam (publicMethod).

privateVar dan privateMethod ialah ahli peribadi objek Singleton. Cara untuk melaksanakan ahli persendirian adalah dengan menggunakan penutupan. Ahli persendirian ini hanya boleh diakses melalui publicVar dan publicMethod.

Selepas mencipta objek Singleton, kita boleh menggunakan kaedah Singleton.publicMethod() untuk mengakses kaedah awamnya.

Ringkasan

Corak singleton ialah corak reka bentuk yang sangat biasa digunakan. Dalam JavaScript, anda boleh menggunakan penutupan dan corak modul untuk melaksanakan corak tunggal.

Gunakan penutupan untuk menyembunyikan pembolehubah persendirian dari luar, dengan itu memastikan hanya terdapat satu tika objek global.

Menggunakan corak modul membolehkan kami membuat objek dengan lebih mudah dengan pembolehubah dan fungsi peribadi, menjadikan kod lebih jelas dan lebih mudah difahami.

Tidak kira kaedah yang digunakan, corak tunggal adalah corak reka bentuk yang sangat berkuasa yang boleh meningkatkan kecekapan dan kebolehselenggaraan aplikasi kami dengan sangat baik.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan corak tunggal menggunakan JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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