装饰模式与代理模式的区别

2020-07-09  本文已影响0人  愈强

在Gof的设计模式一书中,装饰模式(Decorator,又名Wrapper)与代理模式(Proxy,又名Surrogate)都被分类为对象结构型模式。

查看原文中对两种模式的意图描述,可以看出他们的区别:

装饰模式:动态地给一个对象添加一些额外的职责。就增加功能来说,Decorator模式相比生成子类更为灵活。
代理模式:为其他对象提供一种代理以控制对这个对象的访问。

装饰强调的是为对象增加功能;代理强调的是控制一个对象的访问。

上一篇下一篇

猜你喜欢

热点阅读