الگوی طراحی Singleton

ساخت وبلاگ

با سلام:
میخواستم الگوی طراحی Singleton رو برای من توضیح بدین ... ممنون

تشکر شده توسط:

گاهی اوقات توی برنامه شرایطی پیش میاد که از یه کلاس خاص میخواین فقط یکی توی حافظه باشه. یعنی اگه چندین بار از روی کلاس شئ ساخته بشه، فقط همون شئ اولیه برگردونده بشه. یکی از کاربردهای این سیستم توی کلاسهایی موسوم به Registry هست. در این کلاسها، هر بخش از برنامه که بخواد با این کلاس کار کنه، یه شئ ازش میسازه و ازطریق اون به تمام مقادیری که بخشهای دیگه برنامه داخل این کلاس ایجاد کرده بودن، دسترسی پیدا میکنه و میتونه مقادیر خودش رو هم بهش اضافه کنه تا بقیه بتونن بخونن. الگوی طراحی Singleton برای همین منظور طراحی شده. روش کارش هم خیلی ساده است:
public class Reigstry { private static Registry instance = new Registry(); private Registry() { } public static Registry getInstance() { retu Registry.instance; } /* Other code goes here */
}

ابتدا باید سازنده رو private کنیم تا کسی نتونه با new از کلاس شئ بسازه. بعد یه فیلد static از نوع کلاس تعریف میکنیم و داخل خود کلاس new میکنیم (چون توی بدنه کلاس هستیم به سازنده private دسترسی داریم). درنهایت یه متد تعریف میکنیم که شئ استاتیک رو برمیگردونه. حالا اینطوری میتونیم دهها بار getInstance رو صدا بزنیم و همیشه همون شئ اول برگردونده میشه که موقع بارگذاری کلاس در حافظه، تعریف شده:
Registry r1 = Registry.getInstance();
Registry r2 = Registry.getInstance(); // r1 == r2

تشکر شده توسط:

برنامه نویس...
ما را در سایت برنامه نویس دنبال می کنید

برچسب : نویسنده : خنجی prog بازدید : 139 تاريخ : پنجشنبه 14 مرداد 1395 ساعت: 18:58

خبرنامه