1.单例模式
//单例模式 懒汉式 使用时才会实例化对象
class Machine
{
private static Machine machine;
private static readonly object locker = new object();
private Machine()
{
}
public static Machine GetMachine()
{
lock (locker)
{
if (machine == null)
{
machine = new Machine();
}
}
return machine;
}
}
2.JSON反序列化
using Newtonsoft.Json;
Machine machine = JsonConvert.DezerializeObject<Machine>(Str);
3.冲突
单例模式使类的实例化对象始终只有一个,但JSON反序列化克隆出一个新的对象,此时厂上存在两个实例化对象,与单例模式的要求相违背。
4.解决方法
将json反序列化的对象挨个属性赋值给单例模式生成的对象,但该方法治标不治本,本身还是有两个对象存在。
还有些其他方法,目前还没掌握。