-2

我不明白为什么我必须在代理模式目标对象中实现接口来表示。我认为它是接口的常见用途,它由代理类实现,它将提供获取真实的对象类信息并将它们显示给客户端......但我看到所有真实的对象类示例都实现了接口。 ....为什么?

4

1 回答 1

3

代理模式的目标是让一个对象(代理)可以代替另一个对象(真实对象)。为了实现这一点,两个对象(代理和真实对象)都必须实现一个通用接口:客户端使用的接口。这样,无论是由 Real 对象直接实现,还是由 Proxy 转发到 Real 对象间接实现,Client 都只需操作接口即可。

还有另一种非常接近的模式,称为适配器模式,它不需要 Real 对象来实现这个接口。这是因为目标不同:Adapter 旨在让 Client 间接操作实现接口的 Real 对象。

于 2015-04-15T21:47:13.380 回答