Memahami Pola Desain Singleton dalam Ruby
Ketika datang ke desain perangkat lunak, pola Singleton adalah pendekatan yang banyak digunakan yang memastikan sebuah kelas hanya memiliki satu instance dan menyediakan titik akses global ke instance tersebut. Pola ini sangat penting dalam skenario di mana satu objek diperlukan untuk mengoordinasikan tindakan di seluruh sistem, seperti logging, koneksi database, atau pengaturan konfigurasi.
Dalam pos blog ini, kita akan menjelajahi cara mengimplementasikan pola desain Singleton dalam Ruby. Jika Anda sudah familiar dengan pengkodean pola ini dalam bahasa seperti C++ atau Java, Anda mungkin penasaran bagaimana ia diterjemahkan ke dalam Ruby. Mari kita bongkar solusinya!
Mengimplementasikan Pola Singleton dalam Ruby
Untuk membuat kelas Singleton dalam Ruby, kita bisa memanfaatkan modul Singleton
bawaan. Modul ini menyediakan cara yang sederhana untuk memastikan bahwa sebuah kelas hanya dapat memiliki satu instance yang dibuat saat pertama kali diakses. Di bawah ini, kita akan membahas langkah-langkah yang diperlukan untuk mengimplementasikan kelas Singleton.
Langkah 1: Memasukkan Modul Singleton
Sebelum Anda dapat menggunakan pola desain Singleton, Anda perlu menyertakan modul singleton
dalam file Ruby Anda. Ini dilakukan dengan menggunakan baris kode berikut:
require 'singleton'
Langkah 2: Mendefinisikan Kelas Singleton Anda
Setelah memasukkan modul singleton
, Anda dapat mendefinisikan kelas Anda dan menyertakan modul Singleton
. Berikut cara melakukannya dalam Ruby:
class Example
include Singleton
end
Contoh Lengkap
Sekarang, mari kita satukan semua ini menjadi contoh lengkap. Berikut adalah tampilan kode Ruby Anda:
require 'singleton'
class Example
include Singleton
def initialize
puts "Membuat satu instance dari Example."
end
def show_message
puts "Halo dari instance Singleton!"
end
end
# Akses instance singleton dan operasinya
example_instance = Example.instance
example_instance.show_message
# Coba untuk membuat instance lain (ini akan mengembalikan instance yang sudah dibuat)
another_instance = Example.instance
puts example_instance.equal?(another_instance) # Ini akan mencetak 'true'
Penjelasan dari Contoh
- Modul Singleton: Dengan menyertakan modul
Singleton
, Ruby secara otomatis menangani kompleksitas manajemen instance untuk Anda. - Metode Initialize: Metode
initialize
hanya dipanggil sekali saat instance pertama kali diakses. - Mengakses Instance: Anda mengakses instance tunggal menggunakan
Example.instance
, yang akan selalu mengembalikan objek yang sama tidak peduli berapa kali Anda memanggilnya.
Manfaat Menggunakan Pola Singleton
- Akses Terkendali: Ini membatasi instansiasi sebuah kelas menjadi satu instance, sehingga menghindari potensi konflik dari beberapa instance.
- Inisialisasi Malas: Instance dibuat hanya saat dibutuhkan, yang dapat menghemat sumber daya.
- Titik Akses Global: Menyediakan cara sederhana untuk mengakses instance dari mana saja dalam kode Anda.
Kesimpulan
Pola Singleton adalah pola desain yang berharga yang membantu menyederhanakan arsitektur aplikasi. Dalam Ruby, mengimplementasikannya cukup sederhana berkat modul singleton
bawaan. Dengan memastikan bahwa sebuah kelas hanya memiliki satu instance, Anda mempromosikan manajemen memori yang lebih baik dan menjaga struktur kode yang bersih dan terorganisir.
Jika Anda mengikuti langkah-langkah yang diuraikan dalam pos ini, Anda akan dapat membuat kelas Singleton Anda sendiri dalam Ruby tanpa kesulitan. Selamat berkoding!