Facade外观模式

[转帖]设计模式-快餐简解-【外观模式】

外观模式应用场景举例

比如在玩“极品飞车”这款游戏,你只需要等待的就是倒计时到0时以最快的车速冲到第一名,但游戏者根本没有想过在车冲出去之前要做哪些工作,比如挂档,离合器,油箱检测,调整方向等等的微操作,将这些微操作封装起来变成一个接口就是外观模式了。在WEB开发中的MVC分层架构就是典型的一个外观模式,每一层将操作的具体内容隐藏起来,保留一个接口供上层调用。

外观模式解释

类型:结构模式

为子系统中的一组接口提供一个一致的interface接口界面。

外观模式UML图

外观模式-JAVA代码实现

新建赛车类:

packagecar_package;

publicclasscar{

publicvoidstart(){
System.out.println("车子已启动");
}

publicvoidcheck_stop(){
System.out.println("刹车检查");
}

publicvoidcheck_box(){
System.out.println("检查油箱");
}

publicvoidcheck_console(){
System.out.println("检查仪表盘是否异常");
}

}

新建赛车操作的外观类:

packagecar_facade;

importcar_package.car;

publicclasscar_facade_imple{

publicvoidcar_go_go(carcar_ref){
car_ref.check_box();
car_ref.check_console();
car_ref.check_stop();
car_ref.start();
}
}

新建客户端运行类:

packagerun_main;

importcar_facade.car_facade_imple;
importcar_package.car;

publicclassrun_main{

publicstaticvoidmain(String[]args){
car_facade_implecar_facade_imple_ref=newcar_facade_imple();
car_facade_imple_ref.car_go_go(newcar());
}
}

程序运行结果如下:

检查油箱
检查仪表盘是否异常
刹车检查
车子已启动

很简单吧,将子操作用一个外观接口封装起来,然后调用这个接口就是调用那些非常复杂的微操作了。

外观模式-MyEclipse6项目JAVA代码实现

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值