java 设计模式 外观模式 将多个内部模块调用封装在一个类中

外观模式是设计模式之一,旨在隐藏系统的复杂性,为子系统提供统一接口。它包括门面角色和子系统角色,减少客户端与子系统间的耦合。优点是减少代码量,实现松耦合,但缺点是可能限制了子系统类的访问,并在增加新子系统时需修改外观类。适用于需要简单入口访问复杂子系统或层次化结构的情况。
摘要由CSDN通过智能技术生成

概念介绍

外观模式是隐藏了系统的复杂性,能够为子系统中的一组接口提供一个统一的接口。客户在使用系统时不必和子系统打交道了,降低了客户和子系统间的耦合。

在外观模式中主要包含如下几个角色。

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

2、子系统角色(SystemA、SystemB、SystemC):实现了子系统的功能。对子系统角色来说,facade角色与客户角色一样,是未知的,它没有任何facade角色的信息和链接。

3、客户角色(client):调用facade角色来完成要得到的功能。

                               

外观模式的优点 

1、对客户端屏蔽了子系统组件,减少了客户端处理的对象数量,也减少了客户端的代码量。

2、实现了客户端和子系统的松散耦合,使得子系统个变化不会影响到调用它的客户端,只需要改变外观类即可。

3、一个子系统的变化不会影响到另一个子系统,子系统内部变化也不会影响到外观对象。

外观模式的缺点

1、不能很好地限制客户端直接使用子系统类,如果对客户端访问子系统类做太多的限制则减

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值