`
jtlyuan
  • 浏览: 67408 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

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

 
阅读更多

代理模式和装饰者模式上在语法形式上几乎完全一样,那么它们的区别在哪里呢?
装饰者模式:动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式相比生成子类更加灵活
代理模式:为其它对象提供一种代理以控制对这个对象的访问。

其实,它们的着重点一个在于“增加”职责,另一个在于“控制”访问。这是它们最本质的区别。

由此可以看到:学习设计模式重点在于“语义”上把握,而不是追求它的“形式。

代理模式的UML



  

 

装饰模式的UML




 
 

  • 大小: 432.9 KB
  • 大小: 39.6 KB
分享到:
评论
Global site tag (gtag.js) - Google Analytics