装饰器模式和代理模式的区别

装饰器模式和代理模式,UML类图上是一样的,结构是一样的,主要区别在于他们的目的不一样,真实使用场景不一样。

例如,抽象被装饰者为 Interface IA,被装饰者A,装饰者是A1,A2,A3,A4,我们代码里可能对A装饰多次,例如   new A1(A),new A2(A1),new A3(A2),new A4(A3),最终结果还是IA,但已经附加了很多装饰,

而代理我们一般只是一次代理,不会多次代理。

posted @ 2023-12-13 16:32  求简君  阅读(80)  评论(0)    收藏  举报