欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

.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();



        }
    }

 

相关标签: 原型模式