可以使用以下代码实现C#中的工厂模式:
首先,定义一个接口作为产品的抽象:
public interface IProduct
{void Operation();
}
然后,创建具体的产品类:
public class ConcreteProductA : IProduct
{public void Operation(){Console.WriteLine("操作具体产品A");}
}public class ConcreteProductB : IProduct
{public void Operation(){Console.WriteLine("操作具体产品B");}
}
接下来,创建一个工厂类来生产产品:
public class Factory
{public IProduct CreateProduct(string productType){if (productType == "A"){return new ConcreteProductA();}else if (productType == "B"){return new ConcreteProductB();}else{throw new ArgumentException("无效的产品类型");}}
}
最后,使用工厂类来创建产品:
Factory factory = new Factory();IProduct productA = factory.CreateProduct("A");
productA.Operation();IProduct productB = factory.CreateProduct("B");
productB.Operation();
使用工厂模式可以将产品的创建和使用分离开来,使得客户端代码只需要和工厂类交互,而不需要直接依赖具体的产品类。这样可以提高代码的可扩展性和灵活性。