پاسخ داده شد
eager initialization در کلاس singleton چیست؟
- فرشته حقیقی 3 سال قبل سوال کرد
- آخرین ویرایش 3 سال قبل
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ عالی
eager initialization در الگوی singlton به این صورت عمل می کند که آبجکت را در زمان لود کلاس ایجاد می کند.
public class EagerInitializedSingleton {
private static final EagerInitializedSingleton instance = new EagerInitializedSingleton();
private EagerInitializedSingleton(){}
public static EagerInitializedSingleton getInstance(){
return instance;
}
}
در مثال بالا در خط چهارم یک آبجکت از کلاس ایجاد شده که در زمان لود کلاس می باشد. عیب این روش این است که حتی اگر اپلیکیشن به این آبجکت نیازی نداشته باشد این آبجکت ایجاد می شود.در حالتیکه کلاس singleton منابع زیادی مصرف نکند این روش مناسب می باشد. اما در بیشتر مواقع کلاسهای singleton منابعی برای عملیات فایلی و دیتابیس مصرف می کنند که در اینگونه موارد eager initialization مناسب نمی باشد.
- فرشته حقیقی 3 سال قبل پاسخ داد
- آخرین ویرایش 3 سال قبل
- شما باید برای ارسال دیدگاه وارد شوید
پاسخ شما