粗浅地理解,外观模式的核心思想就是把分散的方法集中到一个方法A里调用,外部只需要调用A方法就可以把所有的方法都跑一遍,简单省事。
例如上图的病人看病流程。假设有guahao(), menzhen(), huajia(), quyao()4个方法,如果没有外观模式,100个地方用到这个流程,四个方法每个都要各写100遍调用代码。
用了外观模式以后,写个方法
void facade(){
guahao();
menzhen();
huajia();
quyao();
}
100个地方都只要调用facade()一个方法就可以了。
外观模式还有一个好处,就是方法调用灵活。假如挂完号可以直接取药,那么再写一个facade1方法,里面自调用挂号和取药的方法就可以了。
理解不对地方请指教
图片来源:http://blog.csdn.net/jason0539/article/details/22775311