原型模式(Proto)是创建一个对象,并通过拷贝这个对象来创建新的对象。

         浅拷贝复制对象的基本类型,对对象类型不进行拷贝,只是产生引用。

         深拷贝复制对象的基本类型,以及对象类型。

         .NET提供了MemberWiseClone方法以及ICloneable接口用于实现浅拷贝以及深拷贝,例如:

    public class Person

    {

        public int ID;

    }   // class Person

    public class ProtoType : ICloneable

    {

        public int ID;

        public Person Contact;

 

        public object Copy()

        {

            return MemberwiseClone();

        }

 

        public object Clone()

        {

            ProtoType obj = new ProtoType();

            obj.ID = ID;

            obj.Contact = new Person();

            obj.Contact.ID = Contact.ID;

            return obj;

        }

}   // class ProtoType

 

         单态模式(Singleton)主要是用于保证在应用程序中一个类只存在一个实例。例如:

    public class Singleton

    {

        private static string m_Name;

 

        public static string Name

        {

            get

            {

                if (m_Name == null)

                {

                    m_Name = "Alden.Gao";

                }

 

                return m_Name;

            }

        }

    }   // class Singleton

posted on 2014-12-31 14:17  Boom_蘑菇云  阅读(61)  评论(0)    收藏  举报