外观模式:
为子系统定义一组统一的接口,这个高级的接口会让子系统更容易被使用
比如汽车内部有许多子系统; 引擎系统 传动系统 悬吊系统 等 驾驶者只需要通过高级接口(方向盘 踏板 仪表盘)就可以轻易操控汽车
优点:1,节省时间,减少系统耦合度(系统构建时间)
2,易于分工开发,开发者只需要了解对方负责系统的Facade接口类,不必深入了解其中的运行方式
3,增加系统的安全性
重点:能将系统内部的互动细节隐藏起来,并提供一个简单方便的接口,就可以操作一个复杂系统并让他们顺利运行
外观模式:可用于游戏主程序。。。。
注意:由于将所有子类集中在Facade接口类中,最终会导致Facade接口类过于庞大且难以维护,这种情况下,
可以重构Facade类,将功能相近的子系统进行整合,以减少内部系统的依赖性
或者整合其他设计模式来减少Facade接口类过度膨胀
Client:客户端 用户
Facade:统一对外的界面
1,整合所有子系统的接口及功能,并提供高级界面(或接口)供客户端使用
2,接受客户端的信息后,将信息传送给负责的子系统
SubSystemXXX:子系统
原本会由不同的客户端来操作,改为只会由内部系统之间交互使用
Main
结论:将复杂的子系统交给单一的一个类负责,并提供单一界面给客户端使用,使客户端减少对系统的耦合度是外观模式的优点