【外观模式应用场景举例】
比如在玩“极品飞车”这款游戏,你只需要等待的就是倒计时到0时以最快的车速冲到第一名,但游戏者根本没有想过在车冲出去之前要做哪些工作,比如挂档,离 合器,油箱检测,调整方向等等的微操作,将这些微操作封装起来变成一个接口就是外观模式了。在WEB开发中的MVC分层架构就是典型的一个外观模式,每一
层将操作的具体内容隐藏起来,保留一个接口供上层调用。
【外观模式解释】
类型:结构模式
为子系统中的一组接口提供一个一致的interface接口界面。
【外观模式UML图】
【外观模式-JAVA代码实现】
新建赛车类:
packagecar_package;
publicclass
car{
publicvoid
start(){ System.out.println("车子已启动"); }
publicvoid
check_stop(){ System.out.println("刹车检查"); }
publicvoid
check_box(){ System.out.println("检查油箱"); }
publicvoid
check_console(){ System.out.println("检查仪表盘是否异常"); }
}
新建赛车操作的外观类:
packagecar_facade;
importcar_package.car;
publicclass
car_facade_imple{
publicvoid
car_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;
publicclass
run_main{
publicstatic
voidmain(String[]
args) { car_facade_implecar_facade_imple_ref
= newcar_facade_imple(); car_facade_imple_ref.car_go_go(newcar()); } }
|
程序运行结果如下:
很简单吧,将子操作用一个外观接口封装起来,然后调用这个接口就是调用那些非常复杂的微操作了。
|
本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。