欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 游戏 > 门面模式与适配器模式

门面模式与适配器模式

2025/4/21 19:09:40 来源:https://blog.csdn.net/m0_74294415/article/details/147316612  浏览:    关键词:门面模式与适配器模式
一、门面模式

门面模式:提供统一接口访问子系统接口

1、包含角色
外观系统对外的统一接口
子系统类的集合;并不知道外观角色的存在,需要为了配合外观角色而做特殊处理或修改
2、举例

        原本开关灯要分别操作各个房间的灯,现在设置总开关更方便。在代码中定义Light接口规定开关灯方法,DiningLight、HallLight、LivingRoomLight类实现该接口,各自实现开关灯具体操作。LightFacade类作为总开关一样的外观类,持有这三种灯的实例,用lightOn()和lightOff()方法就能一键统一控制所有灯的开关。

3、优点
  • 减少系统依赖,降低客户端和子系统耦合;
  • 提高灵活性,简化客户端使用;
  • 可灵活设定访问权限,提高安全性
二、适配器模式

        适配器模式就是将一个类的接口转换成客户期望的另一个接口,使原本接口不兼容的类能协作,简单来说就是包装目标类使之适配调用方使用。

三、二者区别

门面模式是为子系统提供一个统一的高层接口,隐藏子系统的复杂性,让子系统更易于使用,就像设置总开关统一开关各个房间的灯

在SLF4J中的体现:SLF4J定义统一日志API,如info()等,调用者只需用这些API,而无需了解底层Log4j、Logback等,隐藏了日志框架的复杂性,类似门面为子系统提供简单接口

适配器模式主要用于将不兼容的接口转化为可兼容的接口,使原本无法一起工作的类能够协作工作,就像电源适配器将不同插头适配到插座上

在SLF4J中的体现:SLF4J需适配不同日志框架,将自身API调用转为对应框架能理解的应用,像适配器转换接口让不同对象协同工作,不过适配较隐蔽

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词