重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
using System;
成都创新互联公司主要从事成都网站设计、成都做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务汕尾,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace 单例模式
{
///
/// 单例模式作用产生唯一对象
单例类只能有一个实例。
单例类必须自己创建自己的唯一实例。
单例类必须给所有其它对象提供这一实例。
应用:
每台计算机可以有若干个打印机,但只能有一个Printer Spooler,避免两个打印作业同时输出到打印机。
一个具有自动编号主键的表可以有多个用户同时使用,但数据库中只能有一个地方分配下一个主键编号。否则会出现主键重复。
///
class Program
{
static void Main(string[] args)
{
//饿汉式
Penson p = Penson.GetPenson();
//懒汉式
Animus animus = Animus.GetAnimus();
}
}
class Penson
{
///
/// 单例模式之饿汉式
///
//第一步设置私有的构造函数
private Penson()
{ }
//第二步:设置全局唯一变量
private static Penson _penson = new Penson();
//第三步:写返回值为Penson类型的函数
public static Penson GetPenson()
{
return _penson;
}
}
class Animus
{
///
/// 单例模式之懒汉式
///
private Animus() { }
private static Animus _animus = null;
public static Animus GetAnimus()
{
if (_animus == null)
{
_animus = new Animus();
}
return _animus;
}
}
}