外观模式 坦克大战java代码实现
2019-03-26 12:07
295 查看
当前:外观模式
需求:坦克大战
创建两种坦克
坦克类型 | 射程 | 速度 |
b70 | 70米 | 时/70公里 |
b50 | 50米 | 时/70公里 |
关于本模式的特别需求说明
将发射炮弹和走行的具体机能由动力驱动层去实现。
但是这些机能要对电子操作层提供一个接口。
模式说明
这是一个很简单的模型,没啥好说的。
这是一个架构模型,一个模块对外提供的接口必须由一个外观类出承载。
所有的项目都这么设计,这几乎是一个规范。
类图
代码
[code]class Function{ static Function mFunction = new Function(); 4000 static Function get(String mStr) { mFunction.setOperation(mStr); return mFunction; } public String mOperation; public void setOperation(String mStr) { this.mOperation = mStr; } public void exe() { System.out.println(mOperation); } }; interface IPowerFacade{ void shot(); void run(); } class Shot{ void shot() { Function.get("炮弹发射").exe(); } } class Run{ void run() { Function.get("速度200/公里").exe(); } } class PowerFacade implements IPowerFacade{ Shot mShot; Run mRun; public PowerFacade() { mShot = new Shot(); mRun = new Run(); } public void shot() { mShot.shot(); } public void run() { mRun.run(); } } class Controllayer{ PowerFacade mPowerFacade; public void setmPowerFacade(PowerFacade mPowerFacade) { this.mPowerFacade = mPowerFacade; } public void run() { mPowerFacade.shot(); mPowerFacade.run(); } } public class Client { public static void main(String[] args) { System.out.println("hello world !"); Controllayer controllayer = new Controllayer(); PowerFacade facade = new PowerFacade(); controllayer.setmPowerFacade(facade); controllayer.run(); } }
运行结果
相关文章推荐
- 外观模式(Facade)实现坦克大战(java实现)
- Java 单例模式及其几种实现代码
- 设计模式之第7章-外观模式(Java实现)
- 大话设计模式1 简单工厂模式 的java代码实现
- 外观模式(java实现)
- java 实现外观(Facade)模式
- 详解Java设计模式中的生产-消费者模式及代码实现
- Java基于外观模式实现美食天下食谱功能实例详解
- 设计模式学习笔记以及java代码实现
- Apriori挖掘频繁模式,关联规则(附代码实现 java+mysql)
- singleton模式的java代码实现
- Java实现(11)——外观模式(Facade Pattern)
- 《大话设计模式》java实现之外观模式
- 设计模式 - java代码实现单例模式
- python2.7通过字典实现java的switch-case模式匹配(代码有注释)
- 单例模式(Java代码实现)
- 设计模式之迭代器模式java实现代码
- Java设计模式菜鸟系列(九)外观模式建模与实现
- [置顶] java面试题:java中的单例设计模式及两种实现方法的代码举例
- 设计模式之动态代理的代码实现(Java)