工厂模式DebugLife

本文使用C#和Vuejs对简单工厂模式,工厂方法模式,抽象工厂模式进行了描述

分类:创建型模式

参见

//抽象汽车类,也可以是接口publicabstractclassCar{publicstringType{get;set;}}//特斯拉publicclassTesla:Car{publicTesla(){this.Type="电动力车";Console.Writeline("生产特斯拉电动汽车");}}//奔驰publicclassBenz:Car{publicBenz(){this.Type="汽油动力车";Console.WriteLine("生产奔驰汽车");}}//工厂publicclassCarFactory{//静态工厂方法publicstaticCarBuild(stringcarName){Carcar=null;if("Tesla"==carName){car=newTesla();}elseif("Benz"==carName){car=newBenz();}else{Console.WriteLine("没找到要生产的汽车Name");}returncar;}}//消费者publicclassCustomer{publicstaticvoidMain(String[]args){CarFactory.Build("Benz");CarFactory.Build("Tesla");CarFactory.Build("Audi");}}JavaScript示例

varCarFactory=(function(){varCar=function(carName,carType){this.CarName=carName;this.CarType=carType;};returnfunction(carName,carType){returnnewCar(carName,carType);}})();//消费varaudi=newCarFactory("Audi","汽油车");varbenz=newCarFactory("Benz","汽油车");vartesla=newCarFactory("Tesla","电动车");Vuejs示例

//抽象汽车类,也可以是接口publicabstractclassCar{publicstringType{get;set;}}//特斯拉publicclassTesla:Car{publicTesla(){this.Type="电动力车";Console.Writeline("生产特斯拉电动汽车");}}//奔驰publicclassBenz:Car{publicBenz(){this.Type="汽油动力车";Console.WriteLine("生产奔驰汽车");}}//工厂接口publicinterfaceICarFactory{publicCarBuild();}publicclassBenzFactory:ICarFactory{publicCarBuild(){returnnewBenz();}}publicclassTeslaFactory:ICarFactory{publicCarBuild(){returnnewTesla();}}//消费者publicclassCustomer{publicstaticvoidMain(String[]args){ICarFactoryfactory=null;CarteslaCar=null;CarbenzCar=null;//生产Teslafactory=newTeslaFactory();teslaCar=facotry.Build();//生产Benzfactory=newBenzFactory();benzCar=factory.Build();}}Vuejs示例

思考以下场景:假如我有三个对象

Carcar1=newTesla();Carcar2=newTesla();Carcar3=newTesla();那么此时我不想要Tesla了,我想换成Benz,此时是不是需要修改三处(可能分散在系统各个类库里),这个时候工厂方法模式的好处在哪里体现呢?

CarFactoryfactory=newTeslaFactory();Carcar1=factory.build();Carcar2=factory.build();Carcar3=factory.build();这个时候,要换成Benz,就修改

CarFactoryfactory=newBenzFactory();一处就可以了。

别忘了,你在加Teacher的时候,是符合开闭原则的,而简单工厂模式是不符合的。

生产Tesla电动车生产Tesla自行车生产奔驰汽油车生产奔驰自行车Vuejs示例

就类似这种结构的对象关系都可以用抽象工厂模式来构造。。。。。

THE END
1.www.seidai88.com/aplpage67262.html据了解,OBD检测是通过数据采集传输仪器读取车辆内OBD系统信息,并检查车辆各项功能是否正常有效运行,2011年7月1日后生产的轻型汽油车都需要进行OBD检测。 检测机构负责人:最早的那一批车确实就是没有OBD,但是最新的这一批车都有OBD。最早的那一批老的,不需要插OBD电脑,但是现在的新产车都有OBD口,都得插OBD电脑。http://www.seidai88.com/aplpage67262.html
2.成熟理性稳重女性的选车用车路——北汽新能源EX3原本家里有一辆汽油车,平时家用也还可以够用,但是俩人上班都要用车,再加上平时还要接送孩子上下学,所以一辆车对于我家现在这个情况来讲就显得有点紧张了,去年五一就开始筹划买第二辆车了,主要是给老婆开,所以完全按照她的要求和标准来选的车,最开始想再买一辆汽油车的,后来考虑到节约成本,降低https://zhidao.baidu.com/question/623542757432020532.html
3.汽车之最,你知道几个?第一个汽车上使用充气轮胎的人是法国的米其林兄弟。米其林兄弟在1894年发明了充气式轮胎,给轮胎技术带来了新的革命。在早先,车子的轮子用的不是木头便是金属。米其林在1888年脚踏车上设计了充气式轮胎。 ★最早的汽油汽车 最早试制成功汽油汽车的是澳大利亚的德国人齐格菲·马克思。https://mp.weixin.qq.com/s?__biz=MjM5MDU1NzkwMw==&mid=2653576871&idx=2&sn=5111cd89aff6f8c5b349b5b23b97cfbd&chksm=bd9c0d078aeb841122a46f92fe3529d312b589c3c2d95878ca0b6dd7f3e7258b39242ba16132&scene=27
4.我当汽车兵跑川藏线的日子转载回忆纪实全部是东风车,烧汽油(汽油车在高原寒冷地区比较容易启动,现在都换柴油了)记得94年的时候内地的汽油https://bbs.360che.com/thread-139581-1-1.html
5.哈弗H5经典版油耗怎么样长城汽车H5经典版油耗点评不足: 车后备箱上面没有汽车后备箱遮物板,要自己配,驾驶坐位后面二排座位脚踩的地方略有不平整。 综述: 空间那是相当大,够大够能装,柴油车和汽油车还是有点区别,绿静采用了6速前进档,所以需要频繁换挡,特别是复杂路面如果换挡不及时,车速下降还是很厉害的,这点开手动挡的还真要注意了。都说换挡生涩,我感觉换https://m.58che.com/3888/review_oil.html
6.《黑人解禁痉挛绝叫菊川三叶》免费播放中文免费在线观看·奥利奥味的奥利给.近几年汽车圈最流行的词就是环保新能源电动各种新能源车型层出不穷经常在新能源车上看到EV、HEV、PHEV 等标识你都知道什么意思么今天带大家了解一下这些标识的意义EV:是纯电动汽车电动汽车的英文名称是ElectricVehicle缩写就是EV纯电动汽车由电动机驱动车辆电动机由动力http://www.iitcp.com/mdktktw8udvi/20240817/mhhhsa.aspx
7.2030年汽油车就不能开了吗?汽油车什么时候淘汰【有驾行业资讯】我们都知道新能源汽车已经成为了发展的大趋势,各国也纷纷公布了禁售燃油车的具体时间,而国内有关禁售燃油车的消息最近也传得沸沸扬扬,有人说2030年就不能开汽油车了,那么究竟2030年汽油车就不能开了吗? 2030年汽油车还能开 目前传统燃油车的退出时间表还在研究阶段,具体退出时间还没有定下来。而https://www.yoojia.com/ask/3-8809693049626923221.html