🧩 «Object Declaration» در کاتلین، سادهترین راه برای ساختن یک Singleton است.
📦 با کلمهی کلیدی
🚀 بدون نیاز به کد اضافه برای مدیریت singleton، خود زبان این الگو را پیادهسازی میکند.
💡 مثال واقعی: یک لاگر ساده که در کل برنامه فقط یک نمونه دارد.
کد زیر یک «Object Declaration» به اسم «Logger» تعریف میکند:
✅ این «object» به صورت lazy بارگذاری میشود و تا وقتی به آن دسترسی نداشته باشید، مصرف حافظه ندارد.
🔄 استفاده از آن هم مثل یک متد استاتیک ساده است:
⚙️ نکته: اگر نیاز به
📌 برای نگهداری ثابتها، ابزارهای بیحالت، یا فکتوریهای ساده، «Object» انتخاب عالیای است.
#Codeit #Android #Kotlin #Jetpack #Singleton #ObjectDeclaration #CleanCode
🌐 Codeit → https://code-it.ir
━━━━━━━━━━━━━━━
@CodeitMobile
📦 با کلمهی کلیدی
object هم کلاس تعریف میشود و هم یک نمونهی منحصربهفرد از آن.🚀 بدون نیاز به کد اضافه برای مدیریت singleton، خود زبان این الگو را پیادهسازی میکند.
💡 مثال واقعی: یک لاگر ساده که در کل برنامه فقط یک نمونه دارد.
کد زیر یک «Object Declaration» به اسم «Logger» تعریف میکند:
object Logger {
fun log(message: String) {
println("[LOG] $message")
}
}
✅ این «object» به صورت lazy بارگذاری میشود و تا وقتی به آن دسترسی نداشته باشید، مصرف حافظه ندارد.
🔄 استفاده از آن هم مثل یک متد استاتیک ساده است:
fun main() {
Logger.log("Application started")
}
⚙️ نکته: اگر نیاز به
state قابل تغییر داشته باشید، از «Object Declaration» استفاده نکنید – خطر ناامنی thread دارد.📌 برای نگهداری ثابتها، ابزارهای بیحالت، یا فکتوریهای ساده، «Object» انتخاب عالیای است.
#Codeit #Android #Kotlin #Jetpack #Singleton #ObjectDeclaration #CleanCode
🌐 Codeit → https://code-it.ir
━━━━━━━━━━━━━━━
@CodeitMobile
🔥1