星空网 > 软件开发 > ASP.net

抽象工厂模式造车

 

可以用抽象工厂模式来造车。

 

车的品牌有很多,而且车的属性也不少,比如车的类型、排量、门的数量,等等。可以提炼出有关车的一个抽象类:

 

  public abstract class Car
  {
    public string Model { get; set; }
    public string Engine { get; set; }
    public string Transmission { get; set; }
    public string Body { get; set; }
    public int Doors { get; set; }
    public List<string> Accessores = new List<string>();
    public abstract void ShowCarInfo();
  }

 

既然是抽象工厂,提炼出一个造车的接口:

 

  public interface ICarFactory
  {
    Car ProduceCar();
  }  

 

写一个Car的派生类:

 

  public class MyCar : Car
  {
    public MyCar()
    {
      Model = "型号001";
      Engine = "发动机V";
      Transmission = "排量1";
      Body = "SUV";
      Doors = 4;
      Accessores.Add("内饰");
      Accessores.Add("外饰");
    }
    public override void ShowCarInfo()
    {
      Console.WriteLine(Model);
      Console.WriteLine(Engine);
      Console.WriteLine(Body);
      Console.WriteLine("门数量:" + Doors);
      Console.WriteLine("包括:");
      foreach (var accessory in Accessores)
      {
        Console.WriteLine("\t{0}", accessory);
      }
    }
  } 

 

MyCar需要一个对应的具体工厂来造车。写一个具体工厂类,实现ICarFactory接口。

 

  public class MyFactory : ICarFactory
  {
    public Car ProduceCar()
    {
      return new MyCar();
    }
  }   

 

在客户端,如果要造车,就找具体工厂就可以了。

 

    static void Main(string[] args)
    {
      ICarFactory carFactory = new MyFactory();
      carFactory.ProduceCar().ShowCarInfo();
      Console.ReadKey();
    }

 

总结:

1、需要工厂生产对象的抽象类以及派生类
2、需要一个抽象工厂接口
3、通过抽象工厂造车,必须把所有的细节都设计在代表车的抽象类中,扩展性不好




原标题:抽象工厂模式造车

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

FastFox:https://www.ikjzd.com/w/2161
easybuy:https://www.ikjzd.com/w/2162
健康优选:https://www.ikjzd.com/w/2163
Amazon PayCode:https://www.ikjzd.com/w/2164
大仙一键搬图:https://www.ikjzd.com/w/2165
尚睿(SainStore):https://www.ikjzd.com/w/2166
23点聊电商:新质生产力加速数字贸易发展 卓尔智联集团实现营收利润双增长 :https://www.kjdsnews.com/a/1836411.html
南京浦口都有什么好玩的地方 南京浦口都有什么好玩的地方推荐:https://www.vstour.cn/a/363180.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流