【发布时间】:2015-04-15 21:35:07
【问题描述】:
我不明白为什么我必须实现代理模式目标对象中的接口来表示。我认为它是接口的常见用途,它由 proxy 类实现,它将提供获取真实的对象类信息并将它们显示给客户端......但我看到所有真实的对象类示例实现了接口.....为什么?
【问题讨论】:
标签: design-patterns proxy-pattern
我不明白为什么我必须实现代理模式目标对象中的接口来表示。我认为它是接口的常见用途,它由 proxy 类实现,它将提供获取真实的对象类信息并将它们显示给客户端......但我看到所有真实的对象类示例实现了接口.....为什么?
【问题讨论】:
标签: design-patterns proxy-pattern
代理模式的目标是让一个对象(代理)可以代替另一个对象(真实对象)。为此,两个对象(代理和真实对象)都必须实现一个通用接口:客户端使用的接口。这样,无论是由 Real 对象直接实现,还是由 Proxy 转发给 Real 对象间接实现,Client 只需操作接口即可。
还有另一种非常接近的模式,称为适配器模式,它不需要 Real 对象来实现这个接口。这是因为目标不同:Adapter 旨在让 Client 间接操作 不 实现接口的 Real 对象。
【讨论】: