2015-04-15 27 views
-2

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

回答

3

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

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

相关问题