抽象工厂模式

抽象工厂模式是对工厂方法模式的改进:在工厂方法模式中,如果增加了新的产品那么就必须进入到工厂中去添加新的方法来产生新的产品,这样的方式对代码开发不是很友好。而抽象工厂模式就不同,在增加了新的产品以后,只需要再写一个相应的工厂即可。

package mode.abstract_factory;

/*抽象的水果工厂*/
public interface AbstractFruitFactory {
	public Fruit getFruit();
}

package mode.abstract_factory;

/*抽象的水果工厂*/
public interface AbstractFruitFactory {
	public Fruit getFruit();
}

package mode.abstract_factory;
/*苹果*/
public class Apple implements Fruit {

	@Override
	public void eat() {
		System.out.println("吃苹果");

	}

}

package mode.abstract_factory;
/**苹果工厂*/
public class AppleFactory implements AbstractFruitFactory {

	@Override
	public Fruit getFruit() {
		return new Apple();
	}

}

有了这个苹果工厂,我们就可以生产我们的苹果了,但是现在我们有引入了一种橘子的产品

package mode.abstract_factory;
/**橘子*/
public class Orange implements Fruit {

	@Override
	public void eat() {
		System.out.println("吃橘子");

	}

}

要生产橘子,那么就建立一个橘子工厂

package mode.abstract_factory;
/**橘子工厂*/
public class OrangeFactory implements AbstractFruitFactory {

	@Override
	public Fruit getFruit() {
		return new Orange();
	}

}

有了这个橘子工厂我们就可以生产橘子了,这里我们并没去修改原来的工厂,而是增加了新的工厂。这样新建独立的新类的模式要比在源代码中修改其他类要好很多。

转载于:https://www.cnblogs.com/qzmpc/p/6339560.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值