我说代理对象就像另一个对象/实体的别名是对的吗? 如何使用代理对象?谁能举一个基本的例子?
非常感谢任何回复。
最佳答案
Proxy object provide a surrogate or placeholder for another object to control access to it.
因此类 A(代理)可以扩展 B(RealObject)类或实现其接口(interface)。 通常代理在调用者和真实对象之间执行一些中间步骤,而调用者不知道他们面对的是代理。
代理概念产生了许多更具体的模式:Decorator(添加更多功能),Remote Proxy(隐藏对象之间的通信),Protection Proxy(控制对象之间的通信),Lazy Instantiation(延迟加载增长对象仅在需要时)和其他。 所有这些模式都没有向真实对象添加额外的方法,而是向现有方法添加一些特性。
我建议你阅读Giorgio Sironi example in Practical php patterns book .
一个真实的例子Doctrine uses proxy for lazy loading of related objects .
关于PHP 代理对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12536021/