[导读]
[设计模式整理笔记 一] 基础知识
[设计模式整理笔记 二] 简单工厂模式(Simple Factory)
[设计模式整理笔记 三] 工厂模式(Factory)
[设计模式整理笔记 四] 抽象工厂模式(Abstract Factory)
[设计模式整理笔记 五] 创建者模式(Builder)
[设计模式整理笔记 六] 工厂模式与创建者模式总结
[设计模式整理笔记 七] 原型模式(ProtoType)
[设计模式整理笔记 八] 单例模式(Singleton)
[设计模式整理笔记 九] 外观模式(Facade)
....后续, 包括部分例子
[/导读]
单例模式含义, 一看字面就知道了, 就是一个类只有一个实例。分二种: 饿汉式与懒汉式。 怎理解饿汉式呢? 也就是在类初始化时就创建了自身对象, 典型的理解就是一个好饿的人, 一开始时就就吃了东西。 懒汉式由是需要的时候才创建自身对象, 典型的理解就是极懒的人, 不会先做任何事情, 都是把事情一定是需要做的时候才会做。
下面看一下单例模式的现实:
定义一个类:
代码
using System;
namespace ConsoleApp
{
public class SubCompany
{
public SubCompany()
{
}
public static SubCompany Instance
{
get
{
if (instance == null)
{
instance = new SubCompany();
}
return instance;
}
}
private static SubCompany instance = null;
/// <summary>
/// 返回集团公司名称
/// </summary>
/// <returns></returns>
public string GetHeadName
{
get
{
return "中国移动";
}
}
}
}
namespace ConsoleApp
{
public class SubCompany
{
public SubCompany()
{
}
public static SubCompany Instance
{
get
{
if (instance == null)
{
instance = new SubCompany();
}
return instance;
}
}
private static SubCompany instance = null;
/// <summary>
/// 返回集团公司名称
/// </summary>
/// <returns></returns>
public string GetHeadName
{
get
{
return "中国移动";
}
}
}
}
调用如下:
代码
using System;
namespace ConsoleApp
{
class Program
{
public static void Main(string[] args)
{
string HeadName = SubCompany.Instance.GetHeadName;
Console.WriteLine(HeadName);
Console.ReadLine();
}
}
}
namespace ConsoleApp
{
class Program
{
public static void Main(string[] args)
{
string HeadName = SubCompany.Instance.GetHeadName;
Console.WriteLine(HeadName);
Console.ReadLine();
}
}
}