设计模式-工厂设计

avatar
作者
猴君
阅读量: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 类型的实例。这样,客户端代码只需要调用工厂方法,而不需要自己直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!