一、 门面模式的结构
外部与一个子系统的通信必须通过一个统一的门面对象进行,这就是门面模式。
如下图所示:
在门面模式中,通常只需要一个门面类,并且此门面类只有一个实例,换言之它是一个单例类。当然这并不意味着在整个系统里只有一个门面类,而仅仅是说对每一个子系统只有一个门面类。
二、 什么情况下使用门面模式
1、为一个复杂子系统提供一个简单接口
2、子系统的独立性,引入Façade模式将一个子系统与它的客户端以及其他的子系统分离,可以提高子系统的独立性。
3、层次化结构,在构建一个层次化的系统时,可以使用Façade模式定义系统中每一层的入口。
三、门面模式在java中的应用
Session门面模式
Session门面模式用一个SessionBean作为门面,封装一个工作流程中的商务对象之间的相互作用。Session门面对象管理商务对象并为客户端提供一个粗粒度的服务层。例如: