Apakah Singleton dalam Pengaturcaraan Berorientasikan Objek?
Dalam pengaturcaraan berorientasikan objek, singleton ialah corak reka bentuk yang memastikan kelas hanya mempunyai satu contoh, dan menyediakan titik akses global kepada contoh itu. Tujuan corak tunggal adalah untuk membenarkan satu contoh kongsi kelas, yang boleh diakses daripada berbilang bahagian aplikasi.
A tunggal ialah kelas yang mempunyai pembina persendirian dan kaedah statik awam yang mengembalikan contoh yang sama daripada kelas. Ini bermakna hanya satu contoh kelas boleh dibuat dan semua percubaan lain untuk mencipta tika baharu akan mengembalikan contoh sedia ada yang sama.
Berikut ialah contoh kelas tunggal mudah dalam Java:
```
kelas awam Singleton {
contoh Singleton statik peribadi;
Singleton peribadi() {}
getInstance Singleton statik awam() {
jika (contoh == null) {
contoh = Singleton baharu();
}
contoh kembali;
}
}
`` `
Dalam contoh ini, kaedah `getInstance()` menyemak sama ada tika kelas telah dibuat, dan jika tidak, ia mencipta tika baharu. Ini memastikan bahawa hanya satu contoh kelas yang pernah dibuat.
Faedah menggunakan singleton termasuk:
* Memastikan hanya satu tika kelas dibuat, yang boleh membantu untuk mengelakkan isu dengan berbilang kejadian objek yang sama.
* Menyediakan titik global akses kepada contoh, yang boleh menjadikannya lebih mudah untuk menggunakan contoh daripada berbilang bahagian aplikasi.
* Membenarkan titik kawalan terpusat, di mana semua kejadian kelas boleh diuruskan melalui satu titik akses .
Walau bagaimanapun, terdapat juga beberapa kelemahan yang berpotensi untuk menggunakan singleton, termasuk:
* Mereka mungkin sukar untuk diuji, kerana mereka sering memerlukan ejekan atau bentuk ujian lain yang tidak mudah.
* Mereka boleh menyukarkan untuk memahami bagaimana aplikasi berstruktur, kerana contoh tunggal boleh digunakan dalam banyak bahagian aplikasi yang berbeza.
* Mereka boleh membawa kepada gandingan yang ketat antara komponen, di mana aplikasi menjadi bergantung kepada satu contoh kelas.
Secara keseluruhannya, singleton boleh menjadi berguna alat untuk menguruskan contoh kelas, tetapi ia harus digunakan dengan berhati-hati dan hanya apabila ia masuk akal untuk kes penggunaan tertentu.



