创建型模式之 -- 抽象工厂模式
抽象工厂模式
包结构如图
ps:理解起来会有些抽象
1.功能接口PlayGame.java
public interface PlayGame { public void game(); }
2.实现功能接口的两种设备Computer.java和Phone.java
public class Computer implements PlayGame{
@Override public void game() { System.err.println("玩电脑游戏!!"); } }
public class Phone implements PlayGame { @Override public void game() { System.err.println("玩手机游戏"); } }
3.工厂接口FactoryTypeInterface.java
public interface FactoryTypeInterface { public PlayGame playGameType(); }
4.两种工厂ComputerPlayGameFactory.java和PhonePlayGameFactory.java
ps:两种工厂都实现工厂接口,实现方法相同,实现内容不同
/** * 工厂 * @author 淹死的鱼o0 */ public class ComputerPlayGameFactory implements FactoryTypeInterface { @Override public PlayGame playGameType() { // TODO Auto-generated method stub return new Computer(); } } /** * 游戏工厂 * * @author 淹死的鱼o0 */ public class PhonePlayGameFactory implements FactoryTypeInterface{ @Override public PlayGame playGameType() { // TODO Auto-generated method stub return new Phone(); } }
5.测试:
public class PlayGameTest { @Test public void phonePlayGameTest() { FactoryTypeInterface typeInterface = new PhonePlayGameFactory(); typeInterface.playGameType().game(); } @Test public void computerPlayGameTest() { FactoryTypeInterface typeInterface = new ComputerPlayGameFactory(); typeInterface.playGameType().game(); } }
6.测试结果展示
7.总结
抽象工厂是在普通工厂上的进一步升级,它优于普通工厂的地方在于当我们需要增加新的设备时,只需要新建一个工厂实现工厂接口就可以了,扩展性能更加好.
欢迎转载:
中文名:惠凡
博客名:淹死的鱼o0
转载时请说明出处:http://www.cnblogs.com/huifan/