Isi kandungan:
Definisi - Apakah maksud Singleton?
Singleton adalah kelas yang membolehkan hanya satu contoh dirinya untuk dicipta dan memberikan akses kepada contoh yang dibuat itu. Ia mengandungi pembolehubah statik yang boleh menampung keadaan unik dan peribadi itu sendiri. Ia digunakan dalam senario apabila pengguna mahu menyekat instantiasi kelas kepada hanya satu objek. Ini biasanya membantu apabila satu objek diperlukan untuk menyelaraskan tindakan merentasi sistem.
Corak tunggal digunakan dalam bahasa pengaturcaraan seperti Java dan .NET untuk menentukan pembolehubah global. Objek tunggal yang digunakan merentas sistem tetap malar dan perlu ditakrifkan sekali sahaja berbanding beberapa kali.
Techopedia menerangkan Singleton
Singleton bertujuan untuk menyediakan hanya satu contoh sendiri semasa memudahkan akses global. Melaksanakan corak tunggal melibatkan membuat kelas dengan kaedah yang mewujudkan contoh baru kelas. Untuk melaksanakan corak tunggal, prinsip-prinsip contoh tunggal dan akses global mesti dipenuhi. Kelas tunggal seperti repositori global untuk contohnya sendiri, menjadikan pembina swasta. Oleh itu, contoh di luar kelas tidak boleh dibuat sama sekali, dan singleton hanya boleh mengandungi satu contoh. Kelas singleton menanam sendiri dan mengekalkan contoh itu merentasi sistem.
Kilang abstrak, corak pembina dan prototaip boleh menggunakan kata-kata tunggal. Objek façade dan benda statik selalunya hanya satu. Pelaksanaan Singleton memerlukan mekanisme dimana anggota kelas dapat diakses tanpa harus membuat objek kelas dan menahan nilai anggota kelas di antara objek kelas. Langkah-langkah yang terlibat dalam membuat singleton adalah seperti berikut:
- Pembina dibuat secara peribadi. Ini hanya membolehkan kelas mempunyai akses kepada singleton.
- Contoh dalaman tunggal kelas dibuat menggunakan kaedah. Kaedah ini dipanggil contoh dalam contoh ini. Kaedah "contoh" digunakan untuk memulakan kelas untuk mengakses satu contoh. Kaedah contoh ditandakan sebagai statik dalam contoh ini untuk memberikan semua akses benang yang konsisten. Di luar penciptaan contoh, pernyataan "kunci" digunakan untuk mengawal akses multithread. Ini mengunci penciptaan contoh ke satu thread.
Contoh:
/ / Lazy penciptaan contoh dalaman tunggalContoh ujian statik awam
{
Dapatkan
{
Kunci (jenis (testdata))
{
Jika (_instance == null)
_instance = testdata ();
}
Pulangan _instance;
}
}
Contoh:
testdata kelas
{
Testdata peribadi ()
{
/ / … no-op untuk singleton
