抽象工厂模式
程序员文章站
2022-05-17 15:12:42
...
定义:为创建一组相关或相互依赖的对象提供一个接口,而且无需指定他们的具体类
抽象工厂实现
/** * 声明汽车接口 */ public abstract class AbstractBenChiCar { // 汽车公共部分 public void shareMethod() { System.out.println("奔驰汽车的公共部分"); } public abstract void doSomething(); } /** * 奔驰普通版 */ public class BenChiA extends AbstractBenChiCar { @Override public void doSomething() { System.out.println("普通版"); } } /** * 奔驰豪华版 */ public class BenChiB extends AbstractBenChiCar { @Override public void doSomething() { System.out.println("豪华版"); } } /** * 普通版汽车工厂接口(可以有 宝马、现代) */ public abstract class AbstractFactoryA { public abstract AbstractBenChiCar createBenChiA(); } /** * 豪华版汽车工厂接口(可以有 宝马、现代) */ public abstract class AbstractFactoryB { public abstract AbstractBenChiCar createBenChiB(); } /** * 普通版汽车工厂实现 */ public class FactoryA extends AbstractFactoryA { @Override public AbstractBenChiCar createBenChiA() { return new BenChiA(); } } /** * 豪华版汽车工厂实现 */ public class FactoryB extends AbstractFactoryB { @Override public AbstractBenChiCar createBenChiB() { return new BenChiB(); } }
注意:对产品族扩展困难(汽车类型),对产品等级(版本增多一个屌丝版)容易
上一篇: share一段采集程序的代码
下一篇: 设计模式-抽象工厂模式