PDA

View Full Version : سوال: Singleton Pattern



behnam.m
جمعه 03 تیر 1390, 21:41 عصر
سلام
Singleton Pattern اگه درست بگم یک الگویی هست که فقط می توان یکه نمونه از آن ساخت.
1- چگونه باید این کلاس را نوشت؟
2- اصلا به چه درد می خوره که فقط یک نمونه بتوان ساخت اگه یک نمونه بخواهیم از خود الگو استفاده می کنیم ؟
لطفا کمکم کنید..

mohammad_2039
جمعه 03 تیر 1390, 23:17 عصر
سلام
درسته Singleton Pattern در واقع یه کلاس هست که هر بار new بشه همون اولی رو نشون میده و کلاس رو بار ها و بار ها ایجاد نمیکنه یکی از کاربرد هاش ایجاد کلاس Conecction Manager هست کلاسی که کانکشن شما رو مدیریت میکنه یه کلاس عمومی از نوع Singleton درست میکنی و هر جای برنامه که نیاز به کانکشن داری اونو صدا میزنی اول نگاه میکنه که قبلا new شده یا نه ؟ اگه نشده یکی میسازه و اگه شده همون رو استفاده میکنه یعنی تمام برنامه فقط با یک کانکشن. احتمالا کاربردهای خیلی بیشتری داره که تا این حد مورد توجه مایکروسافت هستش و در تمام امتحانات مایکروسافت حداقل یه سوال از Singleton میدن. روش درست کردنش رو اگه تو گوگل نامش رو سرچ کنی متوجه میشی تا اونجایی که یادمه یه کلاس هست که کانستراکتورش رو حذف میکنن و یه متغییر استاتیک هم داره. ببخشید همین قدر بلد بودم.
موفق باشی

exlord
شنبه 04 تیر 1390, 11:46 صبح
public class Test
{
private static Test _instance;
public static Test GetInstance()
{
if (Test._instance == null)
Test._instance = new Test();

return Test._instance;
}

private Test() { }
}