你能给一个很好的解释什么是代理和装饰之间的区别? 我看到的主要区别是,当我们假设代理使用组合和装饰使用聚合,那么似乎很清楚,通过使用多个(一个或多个) 装饰可以修改/添加function到预先存在的实例(装饰),而代理有自己的代理类的内部实例,并委托给它添加一些额外的function(代理行为)。 问题是 – 使用聚合创build的代理是代理还是装饰器 ? 是否允许(按照GoF模式定义)使用聚合创build代理 ?
我正在寻找代理模式,对我来说,它似乎非常像装饰器,适配器和桥模式。 我误解了什么? 有什么不同? 为什么我会使用代理模式与其他模式? 你过去在现实世界的项目中如何使用它们?