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