⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 program.cs

📁 GOF23种设计模式详细例子!附有详细的代码噢!
💻 CS
字号:
using System;
using System.Collections;
using System.Text;
using System.IO;

namespace FlyweightExample
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(GC.GetTotalMemory(false));
            Random rnd = new Random();
            ArrayList al = new ArrayList();
            for (int i = 0; i < 10000; i++)
            {
                string modelName = rnd.Next(2).ToString();
                Model model = ModelFactory.GetInstance().GetModel(modelName);
                //Model model = new Model(modelName);
                al.Add(model);
            }
            Console.WriteLine(GC.GetTotalMemory(false));
            Console.ReadLine();
        }
    }

    class Model
    {
        private byte[] data;

        public Model(string modelName)
        {
            data = File.ReadAllBytes("c:\\" + modelName + ".txt");
        }
    }

    class ModelFactory
    {
        private Hashtable modelList = new Hashtable();
        private static ModelFactory instance;

        public static ModelFactory GetInstance()
        {
            if (instance == null)
                instance = new ModelFactory();
            return instance;
        }

        public Model GetModel(string modelName)
        {
            Model model = modelList[modelName] as Model;
            if (model == null)
                modelList.Add(modelName, new Model(modelName));
            return model;
        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -