当前位置:   article > 正文

设计模式-工厂设计

设计模式-工厂设计

在C#中实现工厂设计模式,可以创建一个工厂类,它根据传入的参数决定创建哪个具体类的实例。以下是一个简单的示例:

  1. // 抽象产品类
  2. public abstract class Car
  3. {
  4. public abstract void Drive();
  5. }
  6. // 具体产品类
  7. public class BmwCar : Car
  8. {
  9. public override void Drive()
  10. {
  11. Console.WriteLine("Driving BMW.");
  12. }
  13. }
  14. public class AudiCar : Car
  15. {
  16. public override void Drive()
  17. {
  18. Console.WriteLine("Driving Audi.");
  19. }
  20. }
  21. // 工厂类
  22. public static class CarFactory
  23. {
  24. public static Car CreateCar(string carType)
  25. {
  26. switch (carType)
  27. {
  28. case "BMW":
  29. return new BmwCar();
  30. case "Audi":
  31. return new AudiCar();
  32. default:
  33. throw new ArgumentException("Invalid car type");
  34. }
  35. }
  36. }
  37. // 使用工厂创建产品实例
  38. public class Program
  39. {
  40. public static void Main(string[] args)
  41. {
  42. Car bmw = CarFactory.CreateCar("BMW");
  43. bmw.Drive();
  44. Car audi = CarFactory.CreateCar("Audi");
  45. audi.Drive();
  46. }
  47. }

在这个例子中,CarFactory 是一个工厂类,它根据传入的 carType 字符串来创建相应的 Car 类型的实例。这样,客户端代码只需要调用工厂方法,而不需要自己直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/847625
推荐阅读
相关标签
  

闽ICP备14008679号