Daftar Isi:
Definisi - Apa yang dimaksud Singleton?
Singleton adalah kelas yang memungkinkan hanya satu instance dari dirinya sendiri untuk dibuat dan memberikan akses ke instance yang dibuat. Ini berisi variabel statis yang dapat mengakomodasi contoh unik dan pribadi itu sendiri. Ini digunakan dalam skenario ketika pengguna ingin membatasi Instansiasi kelas untuk hanya satu objek. Ini berguna biasanya ketika satu objek diperlukan untuk mengoordinasikan tindakan di seluruh sistem.
Pola singleton digunakan dalam bahasa pemrograman seperti Java dan .NET untuk mendefinisikan variabel global. Sebuah objek tunggal yang digunakan lintas sistem tetap konstan dan perlu didefinisikan hanya sekali daripada berkali-kali.
Techopedia menjelaskan Singleton
Singleton dimaksudkan untuk menyediakan hanya satu instance dari dirinya sendiri sambil memfasilitasi titik akses global. Menerapkan pola tunggal melibatkan menciptakan kelas dengan metode yang menciptakan contoh baru dari kelas. Untuk menerapkan pola tunggal, prinsip-prinsip satu instance dan akses global harus dipenuhi. Kelas singleton seperti repositori global untuk turunannya sendiri, menjadikan konstruktor sebagai pribadi. Oleh karena itu, sebuah instance di luar kelas tidak dapat dibuat sama sekali, dan singleton hanya dapat berisi satu instance. Kelas tunggal instantiate sendiri dan mempertahankan instance itu di seluruh sistem.
Pola abstrak pabrik, pembangun dan prototipe dapat menggunakan lajang. Objek façade dan objek statis sering lajang. Implementasi Singleton membutuhkan mekanisme di mana anggota kelas dapat diakses tanpa harus membuat objek kelas dan mempertahankan nilai anggota kelas di antara objek kelas. Langkah-langkah yang terlibat dalam menciptakan singleton adalah sebagai berikut:
- Konstruktor dibuat pribadi. Ini hanya memungkinkan kelas memiliki akses ke singleton.
- Sebuah instance internal kelas dibuat dengan menggunakan metode. Metode ini disebut turunan dalam contoh ini. Metode "instance" digunakan untuk menginisialisasi kelas untuk mengakses satu instance. Metode instance ditandai sebagai statis dalam contoh ini untuk memberikan semua akses yang konsisten pada utas. Di luar pembuatan instance, pernyataan "kunci" digunakan untuk mengontrol akses multithreaded. Ini mengunci pembuatan instance ke satu utas.
Contoh:
// Penciptaan malas internal instance tunggalInstance testdata statis publik
{
Dapatkan
{
Kunci (jenis (testdata))
{
Jika (_instance == null)
_instance = testdata ();
}
Return _instance;
}
}
Contoh:
testdata kelas
{
Testdata pribadi ()
{
// … no-op untuk seorang singleton
