代理模式 - 为什么要从实际对象类实现接口?

时间:2015-04-15 21:35:08

标签: design-patterns proxy-pattern

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

1 个答案:

答案 0 :(得分:3)

代理模式的目标是拥有一个可以代表另一个(Real对象)的对象(代理)。为此,两个对象(Proxy和Real对象)必须实现一个公共接口:客户端使用的接口。这样,客户端只需要操作接口,无论它是由Real对象直接实现,还是由Proxy转发到Real对象间接实现。

另一个非常接近的模式称为适配器模式,它不需要Real对象来实现此接口。这是因为目标不同:适配器旨在允许客户端间接操作实现接口的Real对象。