Implementasi Design Pattern Singleton atau Pola desain Singleton

Implementasi Design Pattern Singleton atau Pola desain Singleton


Pola desain Singleton adalah salah satu pola desain kreatif yang digunakan untuk memastikan bahwa hanya ada satu instansi dari sebuah kelas yang dapat diakses di seluruh aplikasi. Dalam pola ini, konstruktor kelas dibuat menjadi private, sehingga mencegah pembuatan objek menggunakan konstruktor secara langsung dari luar kelas. Sebagai gantinya, pola Singleton menyediakan metode statis yang mengembalikan instansi tunggal dari kelas tersebut.

Berikut adalah implementasi pola desain Singleton dalam bahasa pemrograman Java:


public class Singleton {
    private static Singleton instance;
    
    // Konstruktor private untuk mencegah pembuatan objek dari luar kelas
    private Singleton() {
        // Inisialisasi objek
    }
    
    // Metode untuk mendapatkan instance tunggal
    public static Singleton getInstance() {
        if (instance == null) {
            // Jika belum ada instance, buat instance baru
            instance = new Singleton();
        }
        return instance;
    }
    
    // Metode lain dari kelas Singleton
    public void doSomething() {
        // Lakukan tindakan
    }
}

Dalam implementasi di atas, kelas Singleton memiliki sebuah variabel statis instance yang menyimpan instance tunggal dari kelas tersebut. Konstruktor kelas dideklarasikan sebagai private untuk mencegah pembuatan objek dari luar kelas. Metode getInstance() adalah metode statis yang digunakan untuk mendapatkan instance tunggal dari kelas Singleton. Jika instance belum ada, maka metode ini akan membuat instance baru. Metode doSomething() adalah contoh metode lain yang bisa ada di kelas Singleton.

Dengan menggunakan pola desain Singleton, Anda dapat memastikan bahwa hanya ada satu instansi dari kelas Singleton yang ada dalam program Anda. Anda dapat menggunakan getInstance() di berbagai bagian program untuk mendapatkan instance tersebut dan mengakses metode dan properti yang terkait.

Penting untuk dicatat bahwa implementasi di atas tidak sepenuhnya thread-safe. Jika Anda membutuhkan thread-safety dalam lingkungan multithreaded, Anda dapat menggunakan mekanisme penguncian (synchronization) untuk memastikan bahwa hanya satu thread yang dapat membuat instance pada suatu waktu.

Nur Efendi Hello i'm Freelancer and i have around 4 years as Backend Developer contact me : [email protected]

Posting Komentar untuk "Implementasi Design Pattern Singleton atau Pola desain Singleton"