创建型模式之 -- 抽象工厂模式
2018-06-18 03:42:43来源:未知 阅读 ()
抽象工厂模式
包结构如图
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
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 设计模式-委派/策略模式 2020-06-09
- 深入理解:设计模式中的七大设计原则 2020-06-07
- 设计模式---类之间的关系知多少 2020-06-07
- 你与面试官所了解的单例模式并不一样! 2020-06-06
- 高手眼中的观察者模式有什么不一样 2020-06-05
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash