Adapter模式和Decorator模式
两者都有包装模式的形式,但出发点不一样。
所谓的包装模式我的理解就是:复合+转发
Adapter模式:将一个类的接口转化为客户想要的接口。
我的理解:已有的方法匹配新需求,但方法接口不对,所以需要增加一个适配器,暴露出正确的接口,并在实现中调用已有的方法。
主要目的是为了使用已有功能,适配器是一个不带有附加功能的壳。
Decorator模式:"油漆工"模式。
我的理解:应对多种组合形式存在时,继承模式可能会造成“类爆炸”,通过包装方式实现功能的叠加。
主要目的是在现有功能基础上扩展新功能,装饰器是一个带有附加功能的壳。
个人认为实际应用中这种区分比较模糊。