facade pattern

门面(Facade)模式

外部与一个子系统的通信必须通过一个统一的门面(Facade)对象进行,这就是门面模式。

门面模式提供一个高层次的接口,使得子系统更易于使用。门面模式的门面类将客户端与子系统的内部复杂性分隔开,使得客户端只需要与门面对象打交道,而不需要与子系统内部的很多对象打交道。

 

门面模式有三个角色组成: 
1)门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。 

2)子系统角色:实现了子系统的功能。对它而言, façade 角色就和客户角色一样是未知的,它没有任何 façade 角色的信息和链接。 

3)客户角色:调用 façade 角色来完成要得到的功能。 

 

代码结构:

 

 

在什么情况下使用门面模式

  • 为一个复杂子系统提供一个简单接口
  • 提高子系统的独立性
  • 在层次化结构中,可以使用Facade模式定义系统中每一层的入口。
posted @ 2013-05-25 20:24  hunterDing  阅读(129)  评论(0编辑  收藏  举报