- 案例
- 文件加密模块设计。需要开发一个文件加密模块,具体流程分为三个部分:读取源文件,加密操作,保存加密后的文件;
- 很多系统都会采用,例如大部分的c/s提供菜单栏和工具栏,而他们就是统一的入口,称为外观模式
- 组成部分
Facade(外观角色)
- 概念
为众多的子系统接口提供一个一直的入口,这个更高层次的接口使得子系统更加容易使用,也成为门面模式。
- 使用场景
- 当要为访问一系列复杂的子系统提供一个简单的入口时候可以使用此模式;
- 客户端和子系统之间存在很大的依赖性,引入外观类可以降低子系统和客户端的耦合,从而提高子系统的独立性和可移植性;
- 总结
- 外观类的用意是为子系统提供一个集中化和简介的沟通渠道,而不是为子系统添加行为,因此不要试图通过外观类,为子系统增加新的功能,这不符合这种设计模式设计的初衷;
- 也就是第一说的,为复杂的系统提供统一的入口,仅仅是简化接口的调用
- 和组合模式的区别
请参考组合模式