首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

玩转工场模式

2013-10-19 
玩转工厂模式最近在看《headfirst 设计模式》,发现简单工厂,工厂模式,抽象工厂模式这三者的区别于联系不是太

玩转工厂模式

最近在看《headfirst 设计模式》,发现简单工厂,工厂模式,抽象工厂模式这三者的区别于联系不是太好理解,经过研究之后,写几个例子,加深一下印象。

上一篇介绍了简单工厂模式,《玩转简单工厂模式》,下面再写一个工厂模式的例子

package go.derek;//测试类,模拟客户端调用public class FactoryTest{public static void main(String[] args){//创建宝马工厂对象CarFactory bmw=new BmwFactory();//执行宝马工厂的流程bmw.brand();//获得指定型号的宝马车Car car1=bmw.create("745Li");car1.intro();Car car2=bmw.create("765Li");car2.intro();//创建奥迪工厂对象CarFactory audi=new AudiFactory();//执行奥迪工程的流程audi.brand();//获得指定型号的奥迪车Car car3=audi.create("A6L");car3.intro();Car car4=audi.create("A8L");car4.intro();}}
运行结果如下

这是宝马工厂,采用 宝马 指定配件与制造工艺
这辆宝马的型号是Bmw_745Li
这辆宝马的型号是Bmw_765Li
这是奥迪工厂,采用 奥迪 指定配件与制造工艺
这辆奥迪的型号是A6L
这辆奥迪的型号是A8L

对比上一篇简单工厂设计模式,可以看出,产品Car基本一致,只不过工厂类有了区别,简单工厂是一个工厂生产所有汽车,工厂模式则是一个工厂只生产一种品牌的车。显然如果有很多品牌,很多型号的车的话,依赖关系要比简单模式简单的多,扩展起来也方便的多。


热点排行