实例讲解设计模式之单件模式应用和简单注入实现形式(2)
业务实体
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Model
{
public class User
{
private string id;
public string Id
{
get { return id; }
set { id = value; }
}
private string name;
public string Name
{
get { return name; }
set { name = value; }
}
private string password;
public string Password
{
get { return password; }
set { password = value; }
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Model
{
public class Users : List<User>
{
}
}
然后便是对于ServiceManager的建立了,这个类就是这个实例的核心类。
// 适配管理器
static ServiceManager instance = null;
private static Object locker = new Object();
/// <summary>
/// 单件模式应用,双层锁定
/// </summary>
public static ServiceManager Instance
{
get
{
if (instance == null)
{
lock (locker)
{
if (instance == null)
{
instance = new ServiceManager();
}
}
}
return instance;
}
}
这里就是单件模式的应用,采用单件模式的作用就是通过适配器,加载不同服务的实现,产生唯一实例。