zoukankan      html  css  js  c++  java
  • 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();
    }
    }
    }

     ********************************************未完待续,太困了
  • 相关阅读:
    美化单选按钮
    url的处理
    时间戳处理
    模板渲染引擎手册
    Web前端工具——Live Reload – Chrome扩展
    属性(Properties)和字段在C#中的关系
    MVC3中的Model
    使用System.Web.Mvc.Ajax
    javascript之DOM操作
    Javascript之BOM(window对象)
  • 原文地址:https://www.cnblogs.com/wh123/p/5583971.html
Copyright © 2011-2022 走看看