示例#1
0
        public static void Main()
        {
            ShapeFactory shape_factory = new SquareFactory();

            IShape shape1 = shape_factory.GetShape(4);

            Console.WriteLine("Shape Area: " + shape1.Area());
            Console.WriteLine("Shape Perimeter: " + shape1.Perimeter());

            shape_factory = new CircleFactory();
            IShape shape2 = shape_factory.GetShape(3);

            Console.WriteLine("Shape Area: " + shape2.Area());
            Console.WriteLine("Shape Perimeter: " + shape2.Perimeter());

            Console.ReadLine();
        }
        public static FactoryBase GetFactory(string shapeName)
        {
            FactoryBase factory;

            switch (shapeName)
            {
            case "Square":
                factory = new SquareFactory();
                break;

            case "Triangle":
                factory = new TriangleFactory();
                break;

            default:
                factory = null;
                break;
            }
            return(factory);
        }