<在于降低系统的复杂程度>
概念理解
-
定义:又叫门面模式,隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口,让子系统更容易使用。
外观模式.jpg

子系统群或者子模块:SubSystemA 、SubSystemB、SubSystemC...
装饰类:Facade,负责向Client提供“门面接口”
应用和优缺点
-
主要解决:
降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。 -
应用实例:
1、医院看病导诊台:去医院看病,可能要去挂号、门诊、划价、取药,让患者或患者家属觉得很复杂,如果有提供接待人员,只让接待人员来处理,就很方便。
2、windows的窗口系统,就是外观模式的例子。如关闭窗口功能,可能设计数据管理对象保存数据,窗口管理对象擦除界面,内存管理对象释放内存,这些对象都很复杂,但是通过外观模式,调用者只需要window.close()。 -
使用场景:
1、为复杂的模块或子系统提供外界访问的模块。
2、子系统相对独立。
3、预防低水平人员带来的风险。 -
优点:
1、减少系统相互依赖。 2、提高灵活性。 3、提高了安全性。 -
缺点:
不符合开闭原则,如果要改东西很麻烦,继承重写都不合适。
网友评论