void Main() { Factory.ChooseFactory("A").GetProduct().Dump(); Factory.ChooseFactory("B").GetProduct().Dump(); } class Product{} class ProductA:Product{} class ProductB:Product{} abstract class Factory{ public static Factory ChooseFactory(string name){ switch (name) { case "A":return new FactoryA(); case "B":return new FactoryB(); default:return null; } } public abstract Product GetProduct(); } class FactoryA:Factory{ public override Product GetProduct(){return new ProductA();} } class FactoryB:Factory { public override Product GetProduct(){return new ProductB();} }
时间: 2024-08-08 01:25:03