Singleton Design Pattern là một trong những mẫu thiết kế creational pattern trong lập trình phần mềm. Mục tiêu của nó là đảm bảo rằng một lớp chỉ có một thể hiện (instance) duy nhất và cung cấp một điểm truy cập toàn cục đến thể hiện đó.
Điểm quan trọng của Singleton là sự hạn chế việc tạo ra nhiều thể hiện của một lớp, giúp tiết kiệm tài nguyên và đồng thời giữ cho trạng thái của đối tượng duy nhất được duy trì trong toàn bộ ứng dụng.
Một số yếu tố chính của Singleton Pattern:
getInstance().Dưới đây là một ví dụ cơ bản về cách triển khai Singleton Design Pattern trong Kotlin:
object Singleton {
init {
println("Singleton instance created")
}
fun doSomething() {
println("Singleton is doing something")
}
}
fun main() {
// Không thể tạo ra một thể hiện mới bằng cách sử dụng constructor vì nó private
// val singleton = Singleton() // Error
// Truy cập thể hiện duy nhất thông qua phương thức getInstance()
val singletonInstance = Singleton
// Gọi phương thức của Singleton
singletonInstance.doSomething()
}
Trong ví dụ này, lớp Singleton được triển khai bằng cách sử dụng một object declaration trong Kotlin, đảm bảo rằng chỉ có một thể hiện được tạo ra. Phương thức doSomething() có thể được gọi từ mọi nơi trong code mà không cần phải tạo ra một thể hiện mới của lớp Singleton.