【读书笔记-重构与模式】 Facade外观模式-为系统提供统一简单接口

本文是关于《设计模式》中Facade外观模式的读书笔记,介绍了如何通过Facade模式为复杂的系统提供统一简单的接口,降低客户端与系统间的耦合。以读取文件中的log信息并转化为对象数据为例,说明了在实际代码中应用Facade模式前后的区别,展示了如何通过Facade模式减少直接调用的接口数量,提高代码的可读性和易用性。
摘要由CSDN通过智能技术生成

《设计模式》中对Facade模式是这样叙述的:

为子系统的一组接口提供一个统一接口。Facade模式定义了一个更高层的接口,使得子系统更加容易使用。

Facade模式的关键特征:

意图:希望简化原有系统的使用方式,需要定义自己的接口。

问题:只需要使用某个复杂系统的子集,或则,需要一种一种特殊的方式与系统交互。

解决方案:为原有系统的客户提供了一个统一的高层的接口。

参与者与协作者:接口本身和各个子系统。

效果:简化了对子系统的使用过程。

实现:定义一个具备所需接口的新类。让新的类使用原有的系统。

下图展示了Facade模式的作用。



这就是Facade模式。通过这个模式我们能够更加容易地使用一个复杂的系统。另外,Facade模式不仅可以创建更加简单的接口,还能够用来减少客户端用户必须处理的对象数量,或者用来隐藏封装系统。

下面以代码为例。其功能只是冲文件中获取log信息并把它转换为对象数据:

function getProductFileLines($file){
    return file($file);
}

function getProductObjectFromId($id,$productName){
    return new Product($id,$productName);
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值