đ Kotlin Singleton – āĻŦ্āϰেāĻāύ-āĻĢ্āϰেāύ্āĻĄāϞি āĻŦ্āϝাāĻ্āϝা! đ¯
đ Kotlin Singleton – āĻŦ্āϰেāĻāύ-āĻĢ্āϰেāύ্āĻĄāϞি āĻŦ্āϝাāĻ্āϝা! đ¯
đ¤ Singleton āĻী?
đ Singleton Pattern āĻšāϞো āĻāĻāĻি āĻ্āϞাāϏেāϰ āĻŽাāϤ্āϰ āĻāĻāĻিāĻ āĻ
āĻŦāĻেāĻ্āĻ āϤৈāϰি āĻāϰাāϰ āĻāĻĒাā§!
đ āϝেāĻোāύো āĻাā§āĻা āĻĨেāĻে āϏেāĻ āĻāĻāĻ āĻ
āĻŦāĻেāĻ্āĻ āĻŦাāϰāĻŦাāϰ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āϝাā§!
đ Memory Save āĻāϰে āĻāĻŦং Global Access āĻĻেā§!
đ āĻŦ্āϝāĻŦāĻšাāϰ:
- Database Connection āĻŦ্āϝāĻŦāϏ্āĻĨাāĻĒāύা
- Shared Preferences āĻŦা Settings Management
- Logging & Analytics
- Network Request Handling
đĨ Kotlin-āĻ Singleton āĻŦাāύাāύোāϰ āϏāĻšāĻ āĻāĻĒাā§: object āĻিāĻā§াāϰ্āĻĄ!
đ Java-āϤে Singleton āĻŦাāύাāϤে āĻšāϞে āĻ
āύেāĻ āĻাāĻŽেāϞা āĻāϰāϤে āĻšā§ (Private Constructor, Static Method āĻāϤ্āϝাāĻĻি)
đ āĻিāύ্āϤু Kotlin-āĻ āĻŽাāϤ্āϰ object āĻিāĻā§াāϰ্āĻĄ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϞেāĻ Singleton āϤৈāϰি āĻšā§ে āϝাā§!
object DatabaseHelper {
fun connect() {
println("Database Connected!")
}
}
fun main() {
DatabaseHelper.connect()
}
đ ️ Output:
Database Connected!
✅ DatabaseHelper āĻ্āϞাāϏেāϰ āĻļুāϧুāĻŽাāϤ্āϰ āĻāĻāĻাāĻ āĻ
āĻŦāĻেāĻ্āĻ āϤৈāϰি āĻšāĻŦে!
✅ āϝāϤāĻŦাāϰ āĻāϞ āĻāϰা āĻšোāĻ āύা āĻেāύ, āύāϤুāύ āĻ
āĻŦāĻেāĻ্āĻ āϤৈāϰি āĻšāĻŦে āύা!
đ Singleton + Properties & Functions!
object Logger {
var logCount = 0
fun log(message: String) {
logCount++
println("[$logCount] $message")
}
}
fun main() {
Logger.log("App Started")
Logger.log("User Logged In")
}
đ ️ Output:
[1] App Started
[2] User Logged In
✅ āĻĒ্āϰāϤিāĻŦাāϰ Logger.log() āĻāϞ āĻāϰāϞে logCount āĻŦাā§āĻে, āĻাāϰāĻŖ āĻāĻি āĻāĻāĻিāĻ Singleton āĻ
āĻŦāĻেāĻ্āĻ!
đ Singleton with Constructor? (Companion Object Alternative)
đ object āĻ্āϞাāϏে Constructor āĻĨাāĻāϤে āĻĒাāϰে āύা! āĻিāύ্āϤু Companion Object āĻĻিā§ে āϏāĻŽাāϧাāύ āĻāϰা āϝাā§!
class Database private constructor() {
companion object {
val instance: Database by lazy { Database() }
}
fun connect() {
println("Database Connected!")
}
}
fun main() {
val db1 = Database.instance
val db2 = Database.instance
println(db1 === db2) // true
}
đ ️ Output:
true
✅ āĻāĻাāύে Database.instance āĻļুāϧুāĻŽাāϤ্āϰ āĻāĻāĻŦাāϰāĻ āĻ
āĻŦāĻেāĻ্āĻ āϤৈāϰি āĻāϰāĻŦে!
✅ lazy āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āĻšā§েāĻে, āϝা āĻĒ্āϰāĻĨāĻŽāĻŦাāϰ āĻĄাāĻা āĻšāϞে āĻ
āĻŦāĻেāĻ্āĻ āϤৈāϰি āĻāϰāĻŦে!
đ āϏংāĻ্āώেāĻĒে:
✔️ Kotlin-āĻ Singleton āϤৈāϰি āĻāϰা āϏāĻŦāĻেā§ে āϏāĻšāĻ object āĻিāĻā§াāϰ্āĻĄ āĻĻিā§ে!
✔️ āĻāĻāĻŦাāϰ āϤৈāϰি āĻšāϞে āĻŦাāϰāĻŦাāϰ āĻāĻāĻ āĻ
āĻŦāĻেāĻ্āĻ āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰা āϝাā§!
✔️ āĻĒ্āϰāĻĒাāϰ্āĻি & āĻĢাংāĻļāύ āϰাāĻāϤে āĻĒাāϰে!
✔️ Constructor āĻĨাāĻāϞে Companion Object āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻšā§!
đĨ āĻāĻāύ āĻĨেāĻে āĻāĻĒāύি āϏāĻšāĻেāĻ Kotlin-āĻ Singleton Pattern āĻŦ্āϝāĻŦāĻšাāϰ āĻāϰāϤে āĻĒাāϰāĻŦেāύ! đ
Comments
Post a Comment