예제 #1
0
        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();
        }
예제 #2
0
        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();

        }