PHP 代理对象

标签 php oop object proxy

我说代理对象就像另一个对象/实体的别名是对的吗? 如何使用代理对象?谁能举一个基本的例子?

非常感谢任何回复。

最佳答案

来自 GOF - Design Patterns书:

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/

相关文章:

php - 为什么即使类和构造函数的大小写不同,我的构造函数仍然被调用?

python - 使用 matplotlib 面向对象的接口(interface)使用 seaborn 进行绘图

javascript - 原型(prototype)属性抛出未定义

object - 在可扩展对象类型的情况下,我应该如何指向记录字段?

c++ - 如何从C++中的嵌套类调用变量

c# - 有没有办法将对象包装为 ConcurrentObject?

用于计算访问次数和重定向的 PHP Session if (session ['visits' ]=1)

php - 为什么有些人在 if 语句中将值放在变量之前?

php - 网站字体更改时出错

c# - 覆盖或隐藏部分类中的属性