黑马程序员技术交流社区

标题: 求一个享元设计模式的具体实例!! [打印本页]

作者: 黑马_郑亮新    时间: 2012-11-28 20:08
标题: 求一个享元设计模式的具体实例!!
代码最好简单!!
作者: 黑马-王宁    时间: 2012-11-28 20:16
字体类型的基类:

    public class FontBase
    {
        private List<string> font = new List<string>();

        private string fontName;
        public FontBase(string name)
        {
            this.fontName = name;
        }

        public FontBase AddFont(string font)
        {
            this.font.Add(font);
            return this;
        }
        public virtual string FontName
        {
            get
            {
                return this.fontName;
            }
        }
    }

    具体的文字类型类:

    public class ChineseFont : FontBase
    {
        public ChineseFont()
            : base("ChineseFont")
        {
            base.AddFont("ChineseFont");
        }
    }

    public class EnglishFont : FontBase
    {
        public EnglishFont()
            : base("EnglishFont")
        {
            base.AddFont("EnglishFont");
        }
    }

具体的创建工厂类:

    public class FontFactory
    {
        private  Dictionary<string, FontBase> fonts = new Dictionary<string, FontBase>();

        public  FontBase Create(string name)
        {
            FontBase fontBase = fonts[name];
            if (fontBase != null)
                return fontBase;

            fontBase = (FontBase)Activator.CreateInstance(Type.GetType(name));

            return fontBase;
        }
    }

作者: 陈山    时间: 2012-11-30 10:04
实例如下:
public class demo{
        public static void main(String[] args){
                Integer i1=34;//自动装箱
                Integer i2=34;
                Integer i3=34;
                Integer i4=34;
                System.out.println(i1==i2);//结果为true,说明i1,i2共享了数据
                System.out.println(i2==i3);//true
                System.out.println(i3==i4);//true
                System.out.println(i1==i3);//true
        }       
       
}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2