Ejemplo n.º 1
0
        static void Main(string[] args)
        {
            FlyWeight        a   = new FlyWeightA();
            FlyWeight        b   = new FlyWeightB();
            FlyWeightFactory fac = new FlyWeightFactory();

            fac.AddFlyWeight("a", a);
            fac.AddFlyWeight("b", b);
            var flyWeightA = fac.Get("a") as FlyWeightA; //通过fac工厂的get方法在其他位置调用get方法 也会得到同一个对象,减少了创建对象的开销

            flyWeightA.Operator(new Data());             //通过客户端传递外部数据进行处理
            Console.ReadKey();
        }
Ejemplo n.º 2
0
 static void Main(string[] args)
 {
     FlyWeight a = new FlyWeightA();
     FlyWeight b = new FlyWeightB();
     FlyWeightFactory fac = new FlyWeightFactory();
     fac.AddFlyWeight("a", a);
     fac.AddFlyWeight("b", b);
     var flyWeightA = fac.Get("a") as FlyWeightA;//通过fac工厂的get方法在其他位置调用get方法 也会得到同一个对象,减少了创建对象的开销
     flyWeightA.Operator(new Data());//通过客户端传递外部数据进行处理
     Console.ReadKey();
 }