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