static void Main(string[] args) { FlyWeightFactory factory = new FlyWeightFactory(); var sharedObjA = factory.GetSharedFlyWeight("A"); var sharedObjB = factory.GetSharedFlyWeight("B"); var sharedObjC = factory.GetSharedFlyWeight("A"); sharedObjA.Execute(new ProductInfo() { ProductName = "Ipad pro", ProductPrice = 7000.1m }); sharedObjB.Execute(new ProductInfo() { ProductName = "Surface book", ProductPrice = 20000.4m }); sharedObjC.Execute(new ProductInfo() { ProductName = "XiaoMI 5", ProductPrice = 3800m }); var unsharedObj = factory.GetUnSharedFlyWeight(); unsharedObj.Execute(new ProductInfo() { ProductName = "Mac Book Pro 15", ProductPrice = 18000m }); Console.WriteLine("共享对象总数为:{0}", factory.GetSharedFlyWeightCount()); Console.ReadLine(); }