设计模式练习(3)——抽象工厂模式

设计模式练习(3)——抽象⼯⼚模式
抽象⼯⼚模式
⼀、题⽬:
某软件公司要推出⼀款新的⼿机游戏软件,该软件⽀持IOS、Android和Windows Phone等多个智能⼿机操作系统平台,针对不同的⼿机操作系统,该游戏软件提供了不同的游戏操作控制类(OperationController)和游戏界⾯控制类(InterfaceController),并提供的相应的⼯⼚类来封装这些类的初始化过程。该软件要求具有较好的扩展性,以⽀持新的操作系统平台,为了满⾜上述要求,试采⽤抽象⼯⼚模式对其进⾏设计。
(1)绘制抽象⼯⼚模式结构视图
(2)给出实例类图并实现代码。
⼆、所⽤模式结构视图:
三、实例类图:
四、实例实现代码:
(因为区分,所以在类的前⾯加了Gj19)
抽象产品-游戏界⾯控制类
package AbstractFactoryPattern;
/**
* 抽象产品-游戏界⾯控制类
* @author gong
*
*/
public interface Gj19IInterfaceController {
public void Interface();
}
具体产品-Android游戏界⾯控制类
package AbstractFactoryPattern;
/**
* 具体产品-Android游戏界⾯控制类
* @author gong
*广州地铁二号线
*/
public class Gj19AndroidInterfaceController implements Gj19IInterfaceController {
@Override
public void Interface() {
System.out.println("Android游戏界⾯控制");
}
}
具体产品-IOS游戏界⾯控制类
周亮李美玲package AbstractFactoryPattern;
/**
* 具体产品-IOS游戏界⾯控制类
* @author gong
*
*/
public class Gj19IOSInterfaceController implements Gj19IInterfaceController {
@Override
public void Interface() {
System.out.println("IOS游戏界⾯控制");
}
}
具体产品-WindowsPhone游戏界⾯控制类
package AbstractFactoryPattern;
/**
* 具体产品-WindowsPhone游戏界⾯控制类
* @author gong
*
*/
public class Gj19WindowsPhoneInterfaceController implements Gj19IInterfaceController {
@Override
public void Interface() {
System.out.println("WindowsPhone游戏界⾯控制");
}
}
抽象产品-游戏操作控制类
package AbstractFactoryPattern;
/**
* 抽象产品-游戏操作控制类
* @author gong
*
*/
public interface Gj19IOperationController {
public void Operator();
}
具体产品-Andriod游戏操作控制类
package AbstractFactoryPattern;
/**
* 具体产品-Andriod游戏操作控制类
* @author gong
*
*/
public class Gj19AndroidOperationController implements Gj19IOperationController {
@Override
public void Operator() {
System.out.println("Andriod游戏操作控制");
}
}
具体产品-IOS游戏操作控制类
package AbstractFactoryPattern;
/**
* 具体产品-IOS游戏操作控制类
* @author gong
*
*/
public class Gj19IOSOperationController implements Gj19IOperationController {
@Override
public void Operator() {
System.out.println("IOS游戏操作控制");
}
}
具体产品-WindowsPhone游戏操作控制类
package AbstractFactoryPattern;
/**
* 具体产品-WindowsPhone游戏操作控制类
* @author gong
*
*/
public class Gj19WindowsPhoneOperationController implements Gj19IOperationController {
@Override
public void Operator() {
System.out.println("WindowsPhone游戏操作控制");
}
}
抽象⼯⼚–游戏控制类
package AbstractFactoryPattern;
/**
* 抽象⼯⼚--游戏控制类
* @author gong
*
*/
public interface Gj19GameController {
//游戏操作控制
public Gj19IOperationController OperationController();
//游戏界⾯控制
public Gj19IInterfaceController InterfaceController();
}
具体⼯⼚–Android游戏控制类
package AbstractFactoryPattern;
/**
* 具体⼯⼚--Android游戏控制类
* @author gong
*
*/
public class AndroidController implements Gj19GameController {
//Android游戏操作控制
@Override
public Gj19IOperationController OperationController() {
return new Gj19AndroidOperationController();
}
//Android游戏界⾯控制
@Override
public Gj19IInterfaceController InterfaceController() {变压器油罐
return new Gj19AndroidInterfaceController();
}
}
具体⼯⼚–IOS游戏控制类
package AbstractFactoryPattern;
n 二甲基亚硝胺/**
* 具体⼯⼚--IOS游戏控制类
* @author gong
*
*/
public class IOSController implements Gj19GameController {
//IOS游戏操作控制
@Override
public Gj19IOperationController OperationController() {课堂教学即时评价
return new Gj19IOSOperationController();
}
//IOS游戏界⾯控制
@Override
数学学习与研究public Gj19IInterfaceController InterfaceController() {
return new Gj19IOSInterfaceController();
}
}
具体⼯⼚– WindowsPhone游戏控制类

本文发布于:2024-09-22 16:39:05,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/131691.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:游戏   抽象   产品   要求   操作控制   实例   实现   控制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议