设计模式之Facade

意图: 为了子系统中的一组接口提供一个一致的界面(访问方式),Facade模式定义了一个高层接口,这个接口使得这一子系统更加 容易使用.

场景:  我们(客户端)需要访问一个子系统,但是子系统中的功能很多,而我们只需要使用一部分功能,这时就可以使用Facade模式,创建一个或一组新的类(外观)提供需要的功能.

使用Facade前:

 使用Facade后:

 

 

效果:  客户端直接和外观交互,降低了对子系统使用的复杂度, 降低了客户端与子系统间的耦合度,而且可以在外观中很容易监控对子系统的使用情况.但是,未被Facade中包含的子系统中的其他功能对于客户端是不可见的.

实现:  定义一个外观(一个或一组新的类)来提供所需要的接口,让外观使用子系统.

应用:  两元书店, 后台提供了许多功能包括入库,查询,更新,上下线等后台操作,而前台只需要一部分功能,而且对于WAP前端和WWW前端使用的功能不一致,这样就可以对WAP和WWW前端各自提供外观.

java与模式书中的例子:

医院有很多功能: 

门诊,挂号,取药,划价,CT,验血

病人需要其中的几个功能,于是可以咨询Facade---- 接待员(当然,这是理想情况).

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值