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

2018-06-18 03:42:43来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

抽象工厂模式

包结构如图

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/

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Java-Swing常用布局管理器

下一篇:Java算法面试题:编写一个程序,将e:\neck目录下的所有.java文件