【发布时间】:2021-04-20 17:20:24
【问题描述】:
我目前正在学习代理模式,并在两本不同的书中找到了它的两种不同实现。请查看模式 UML 图的链接,因为我还不能嵌入图片。
我的老师说模式 1 是正确的实现,尽管大多数教程和资源都使用模式 2 实现。我的老师认为模式 2 是错误的,因为“它允许代理调用 RealSubject 上的所有公共方法,这使得它与适配器模式没有真正的不同”,而模式 1“强制代理只能调用来自真实主体内的接口类"
我的问题是:
- 这两个 UML 图之间的真正区别是什么?它们本质上不是表现出同样的东西吗?
- 如果模式 2 是错误的,为什么包括书籍在内的大多数资源都使用它来显示代理模式?
感谢您的回答。
【问题讨论】:
-
我看不出它们之间有什么区别。接口不是要处理的真实对象,它们是合同。
标签: oop design-patterns proxy-pattern