外观模式(Facade)实现坦克大战(java实现)
2019-03-27 10:47
239 查看
当前:外观模式(Facade)
需求:坦克大战
创建两种坦克
坦克类型 | 射程 | 速度 |
b70 | 70米 | 时/70公里 |
b50 | 50米 | 时/70公里 |
类图
设计说明
该实例需求(与上面的公共需可能并不完全相同,这里是为了体现该模式的价值)
将发射炮弹和走行的具体机能由动力驱动层去实现。
但是这些机能要对电子操作层提供一个接口。
模式说明
这是一个很简单的模型,没啥好说的。
这是一个架构模型,一个模块对外提供的接口必须由一个外观类出承载。
所有的项目都这么设计,这几乎是一个规范。
简单一句话:就是把该模块的所有对外公开的函数,都交给一个接口负责,这个接口就是外观。
代码
[code]class Function{ static Function mFunction = new Function(); 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(); } }
运行结果
相关文章推荐
- java 实现外观(Facade)模式
- Java实现(11)——外观模式(Facade Pattern)
- Java之外观模式(Facade Pattern)
- Java设计模式 结构模式-外观模式(Facade)
- Java设计模式之--外观模式(facade pattern)
- java 设计模式学习笔记七 facade外观模式
- Java 设计模式:外观模式Facade
- Java设计模式----外观模式(Facade)
- Java经典设计模式-结构型模式-外观模式(Facade)
- Java设计模式十七:外观模式(Facade)
- java设计模式之外观模式Facade
- Java设计模式-外观模式(Facade)
- (2)JAVA设计模式十九--Facade(外观模式)
- java设计模式之外观模式(Facade)
- Java设计模式--外观模式(Facade)
- Java设计模式-----Facade外观模式
- JAVA设计模式十八:--Facade(外观模式或门面模式)
- 大话设计模式--外观模式 Facade -- C++实现实例
- Head First设计模式C++实现--第七章:适配器(Adapter)与外观(Facade)模式
- 外观模式-facade实现interface的方式(简单工厂+facade组合使用)