门面模式(Facade) - (05)

门面模式:
1.概念:
为子系统中的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使子系统更加容易使用。
2.组成:
门面模式有三个角色组成:
1) 门面角色( facade ):这是门面模式的核心。它被客户角色调用,因此它熟悉子系统的功能。它内部根据客户角色已有的需求预定了几种功能组合。
2) 子系统角色:实现了子系统的功能。对它而言, façade 角色就和客户角色一样是未知的,它没有任何 façade 角色的信息和链接。

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

3.示意图:

简单而明了的示意图和建模图形,我想大家应该一看就能明白的,因为这种理念,思想在生活中是很常见的,

传统的方法:

使用门面模式:

类图:


4.用途:

如果客户端和其他子系统之间直接进行接口的调用,那么客户端和实现层之间存在这很大的依赖性,耦合度也非常高,引入Facade模式将一个子系统与它的客户端以及其他的子系统分离,可以提高子系统的独立性和可移植行,达到松散耦合的作用,
在构建一个层次化的系统的时候,可以使用Facade模式定义系统的每一层的入口,如果层与层之间是相互依赖的,则可以限定他们仅通过Facade进行通信,从而简化了层与层之间的依赖关系,即给一个子系统或者多个子系统提供统一的入口,减少将来维护和扩展的代价!

5.举例:

Facade 一个典型应用就是进行数据库连接。 一般我们在每一次对数据库进行访问,都要进行以下操作:先得到 connection 连接实例,然后打开 connection 获得连接,得到一个 statement ,执行 sql 语句进行查询,得到查询结果集。
我们可以将这些步骤提取出来,封装在一个类里面。这样,每次执行数据库访问只需要将必要的参数传递到这个类中就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值