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



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

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

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

最新更新