在学习装饰者模式和代理模式时感觉这两种设计模式实现思路都是对代码进行包装,使领域对象变得更加纯粹。但是为什么会单独划分装饰者模式和代理模式并不清楚,可否有大神帮忙解惑,不胜感激
在学习装饰者模式和代理模式时感觉这两种设计模式实现思路都是对代码进行包装,使领域对象变得更加纯粹。但是为什么会单独划分装饰者模式和代理模式并不清楚,可否有大神帮忙解惑,不胜感激
8 回答6.4k 阅读
1 回答4.2k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
2 回答3.2k 阅读
2 回答3.9k 阅读
1 回答2.2k 阅读✓ 已解决
3 回答1.7k 阅读✓ 已解决
装饰器注重的是功能的增强,避免使用子类继承方式进行功能扩展。
代理模式更注重控制目标的访问,给各种通知一个统一的访问入口。
感觉很多人都说代理模式的目的是功能的增强,但从设计模式那本书的原文可以看到作者的初衷其实是为了控制对象访问的入口。
原文中是这样说的:
Proxy:provide a surrogate or placeholder for another object ot control access to it.