.net设计模式 (原型模式)学习笔记
程序员文章站
2022-03-04 13:25:45
...
运用设计模式只是为了解决一类问题的,当解决掉当前一类问题,通常会在解决这个问题时候 带来其他问题 合理应用扬长避短
创建型模式:
.net设计模式 (原型模式)学习笔记
概念: 和单例模式相比较。在对单例模式 引用的时候 实际上 引用的是 同一个对象。 有些时候 我们想引用不同的对象,又想 快速的创建对象。这个时候就可以 使用 原型模式;在 .net 中 成为 浅拷贝。 要注意的是浅拷贝 引用类型还是 引用 同一块地址
/// <summary>
/// 单例
/// </summary>
public class Singleton
{
private Singleton()
{
}
/// <summary>
/// 静态变量: 会在类初始化之前调用,而且只会调用一次
/// </summary>
private static Singleton singleton = new Singleton();
public static Singleton GetSingleton()
{
return singleton;
}
public static Singleton GetSingletonProto()
{
return (Singleton)singleton.MemberwiseClone();
}
}
class Program
{
static void Main(string[] args)
{
Singleton singletonA = Singleton.GetSingleton();
//浅拷贝 不同于 Singleton.GetSingleton();
//值类型是全新的访问地址, 但对于引用类型来讲 还是用一块 地址
//
//如果想要将引用类型的 地址 也是新的, 就需要用到 深拷贝
Singleton singletonB = Singleton.GetSingletonProto();
}
}