نحوه ایجاد الگوی Singleton به صورت جنریک
نویسنده: احمد نواصری
تاریخ: ۱۳۹۳/۰۸/۲۲ ۱۳:۰
آدرس: www.dntips.ir
| مطالب | ۳۶۹۴ |
| نویسندگان | ۲۷۶ |
| گروههای مطالب | ۱۰۲۴ |
| نقشههای راه | ۱۱۹ |
| دورهها | ۱۴ |
| اشتراکها | ۱۷۹۱۴ |
public class SingletonClassCreator<T> where T:class , new()
{
private static T _singletoneInstance;
private static readonly object Lock = new object();
public static T SingletoneInstance
{
get
{
lock (Lock)
{
if (_singletoneInstance == null)
{
_singletoneInstance = new T();
}
}
return _singletoneInstance;
}
}
private SingletonClassCreator()
{
}
} public class FirstSingleton
{
public int Square(int input)
{
return input*input;
}
} static void Main(string[] args)
{
var firstSingletone = SingletonClassCreator<FirstSingleton>.SingletoneInstance ;
Console.WriteLine(firstSingletone.Square(12));
Console.ReadKey();
} if (instance == null)
{
lock (Lock)
{
if (instance == null)
instance = new Singleton();
}
}