阅读量:0
在C#中实现工厂设计模式,可以创建一个工厂类,它根据传入的参数决定创建哪个具体类的实例。以下是一个简单的示例:
// 抽象产品类 public abstract class Car { public abstract void Drive(); } // 具体产品类 public class BmwCar : Car { public override void Drive() { Console.WriteLine("Driving BMW."); } } public class AudiCar : Car { public override void Drive() { Console.WriteLine("Driving Audi."); } } // 工厂类 public static class CarFactory { public static Car CreateCar(string carType) { switch (carType) { case "BMW": return new BmwCar(); case "Audi": return new AudiCar(); default: throw new ArgumentException("Invalid car type"); } } } // 使用工厂创建产品实例 public class Program { public static void Main(string[] args) { Car bmw = CarFactory.CreateCar("BMW"); bmw.Drive(); Car audi = CarFactory.CreateCar("Audi"); audi.Drive(); } }
在这个例子中,CarFactory
是一个工厂类,它根据传入的 carType
字符串来创建相应的 Car
类型的实例。这样,客户端代码只需要调用工厂方法,而不需要自己直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。