这也让我想起了工作中遇到的一件事:之前在开发一项功能的时候需要使用产品客户端的cookie,为了防止每一次要用到cookie的时候都去申请一遍,我的一位前辈就让我将cookie值存到缓存中,实现并不复杂,刚开始的设计就是我去申请cookie,然后存到缓存中,其他人调用从缓存中获取cookie的方法,如果cookie获取不到,或是失效了,他们再调用我写的申请cookie的方法,结果我将这个方案提出来后就被否决了,前辈给出了两个意见:
1.先写接口,不要一开始就直接实现;2.只需要给我一个方法就行,调用者不需要去关心cookie拿不到的问题,所有工作都在内部实现。
现在想来这不就是外观设计模式吗,提供一个更高一级的接口,提供调用方法,调用者不需要操心底层的实现。
三. 两计模式的比较
适配器模式:其功能是将一个不满足客户需求的接口,转换为一个用户可以正常使用的接口,适配器可以将 一个或多个类接口变为一个所需要的接口(不一定说一个适配器对应一个要适配的类)
外观模式:其功能是为功能繁杂的子系统提供一个简化的接口。