.net设计模式 (原型模式)学习笔记

运用设计模式只是为了解决一类问题的,当解决掉当前一类问题,通常会在解决这个问题时候 带来其他问题  合理应用扬长避短


创建型模式:        

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



        }
    }

猜你喜欢

转载自blog.csdn.net/nicepainkiller/article/details/83511262
今日推荐