public static void Demo() { AbstractFactory shapeGen = FactoryProducer.Generator("Shape"); Factory.IShape c = shapeGen.ShapeCreate("Circle"); c.Draw(); Factory.IShape s = shapeGen.ShapeCreate("Square"); s.Draw(); AbstractFactory colorGen = FactoryProducer.Generator("Color"); IColor r = colorGen.ColorCreate("Red"); r.Fill(); IColor b = colorGen.ColorCreate("Blue"); b.Fill(); Console.ReadLine(); }