Làm thế nào để bạn tạo một `sin...
Làm thế nào để bạn tạo một `sin...
Trong Kotlin, việc tạo một singleton thông thường được thực hiện thông qua một object
. Tuy nhiên, object
trong Kotlin không hỗ trợ trực tiếp việc khởi tạo với các tham số. Để tạo một singleton có thể nhận tham số, bạn cần sử dụng một kỹ thuật khác, thường là thông qua một lớp thông thường kết hợp với một pattern để đảm bảo rằng chỉ có một thể hiện của lớp đó được tạo ra. Một trong những cách phổ biến để thực hiện điều này là sử dụng mẫu thiết kế "Singleton with parameters" với một companion object để quản lý thể hiện duy nhất.
Dưới đây là một ví dụ về cách bạn có thể tạo một singleton có tham số trong Kotlin:
Bạn tạo một lớp với một companion object. Companion object này sẽ chịu trách nhiệm tạo và quản lý thể hiện duy nhất của lớp này.
class Config private constructor(val url: String, val timeout: Int) {
companion object {
@Volatile private var INSTANCE: Config? = null
fun getInstance(url: String, timeout: Int): Config {
return INSTANCE ?: synchronized(this) {
INSTANCE ?: Config(url, timeout).also {
INSTANCE = it
}
...
senior
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào