我不明白为什么我必须在Proxy Pattern目标对象中实现接口来表示。我认为这是一个界面的常见用法,它由代理类实现,它将提供真实的对象类信息并将它们显示给客户端...但我看到所有真实的对象类示例实现了接口.....为什么?
答案 0 :(得分:3)
代理模式的目标是拥有一个可以代表另一个(Real对象)的对象(代理)。为此,两个对象(Proxy和Real对象)必须实现一个公共接口:客户端使用的接口。这样,客户端只需要操作接口,无论它是由Real对象直接实现,还是由Proxy转发到Real对象间接实现。
另一个非常接近的模式称为适配器模式,它不需要Real对象来实现此接口。这是因为目标不同:适配器旨在允许客户端间接操作不实现接口的Real对象。