创建型模式之 — 抽象工厂模式

抽象工厂模式

包结构如图

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/

人生就是一次充满未知的旅行,在乎的是沿途的风景,

创建型模式之 — 抽象工厂模式

相关文章:

你感兴趣的文章:

标签云: