Esempio n. 1
0
        static void Main(string[] args)
        {
            var factory = new ShapeFactory();

            //创建随机对象
            double sum = 0;

            for (int i = 0; i < 10; i++)
            {
                var shape = factory.CreateRandom();
                var area  = shape.Area;
                sum += area;
                Console.WriteLine($"第 {i} 个图形是 {shape.ShapeName} , 面积为 {area}");
            }
            Console.WriteLine($"面积和为 {sum}");
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            ShapeFactory shape = new ShapeFactory();

            shape.GetShape(ShapeType.LINE).Draw();
            shape.GetShape(ShapeType.CIRCLE).Draw();
            shape.GetShape(ShapeType.RECTANGLE).Draw();

            if (shape.GetShape(ShapeType.TRIANGLE) == null)
            {
                Console.WriteLine("\nInvalid shape.");
            }

            Console.WriteLine("\n\nPress any key to exit...");
            Console.ReadKey();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            // Отримання копії прототипу Rectangle
            IShape rectanglePrototype = ShapeFactory.GetShape("Rectangle");

            rectanglePrototype.Draw();

            // Отримання копії прототипу Square
            IShape squarePrototype = ShapeFactory.GetShape("Square");

            squarePrototype.Draw();

            // Отримання копії прототипу Circle
            IShape circlePrototype = ShapeFactory.GetShape("Circle");

            circlePrototype.Draw();

            // Зміна отриманої копії прототипу Circle
            (circlePrototype as Circle).Radius = 100;
            circlePrototype.Draw();


            Console.ReadKey();
        }