DesignPattern_Creational_FactoryMethod

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

DesignPattern_Creational_FactoryMethod的相关文章