Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我不明白为什么我必须在代理模式目标对象中实现接口来表示。我认为它是接口的常见用途,它由代理类实现,它将提供获取真实的对象类信息并将它们显示给客户端......但我看到所有真实的对象类示例都实现了接口。 ....为什么?
代理模式的目标是让一个对象(代理)可以代替另一个对象(真实对象)。为了实现这一点,两个对象(代理和真实对象)都必须实现一个通用接口:客户端使用的接口。这样,无论是由 Real 对象直接实现,还是由 Proxy 转发到 Real 对象间接实现,Client 都只需操作接口即可。
还有另一种非常接近的模式,称为适配器模式,它不需要 Real 对象来实现这个接口。这是因为目标不同:Adapter 旨在让 Client 间接操作未实现接口的 Real 对象。