1设计模式之单例模式

      数学与逻辑学中,singleton定义为“有且仅有一个元素的集合”。
单例模式最初的定义出现于《设计模式》(艾迪生维斯理, 1994):“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”
Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”
    单例模式是设计模式中最简单的形式之一。这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一种只允许生成对象类的唯一实例的机制,“阻止”所有想要生成对象的访问。使用工厂方法来限制实例化过程。这个方法应该是静态方法(类方法),因为让类的实例去生成另一个唯一实例毫无意义。
  控制台程序,以下是program代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Singletonhow
{
/// <summary>
/// 单例模式:适用于只有一个对象的场景,整个程序只有一个唯一对象
/// 要求:对象只被实例化一次
/// 比如说:打印机链接,数据库连接池,线程池,写日志对象
/// </summary>
class Program
{
static void Main(string[] args)
{
//生成任务工厂对象
TaskFactory taskfactory = new TaskFactory();
for (int i = 0; i < 10; i++)
{
//单线程
//SingletonOne.CreateInstanse();
taskfactory.StartNew(() => SingletonOne.CreateInstanse());
}

Thread.Sleep(15000);
Console.WriteLine("这里是第二次");
for (int i = 0; i < 10; i++)
{
//单线程
//SingletonOne.CreateInstanse();
taskfactory.StartNew(() => SingletonOne.CreateInstanse());
}
Console.ReadKey();
}
}
}

 ********************************************未完待续,太困了
posted @ 2016-06-14 14:37  有酱油卖吗  阅读(102)  评论(0编辑  收藏  举报