计划模式-工厂计划

打印 上一主题 下一主题

主题 973|帖子 973|积分 2921

在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 类型的实例。如许,客户端代码只必要调用工厂方法,而不必要本身直接实例化产品类。这提供了一种灵活性,可以在不修改客户端代码的情况下引入新的产品类型。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

南七星之家

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表