在客户端与实体之间建立一个代理对象(proxy),客户端对实体进行的操作全部委派给代理对象,隐藏实体的具体实现细节。
Proxy还可以与业务代码分离,部署到另外的服务器,业务代码中通过RPC来委派任务。
//代理接口
interface Proxy
{
public function getUserName($id);
public function setUserName($id, $newName);
}
//用户操作代理实现
class UserProxy implements Proxy
{
//读操作
public function getUserName($id)
{
return Factory::getDataBase('slave')->find($id);
}
//写操作
public function setUserName($id, $newName)
{
return Factory::getDataBase('master')->data(['name' => $newName])->where(['id' => $id])
}
}
//代理模式:数据库主从,通过代理设置主从读写设置。
$proxy = new UserProxy();
$proxy->getUserName(1);
$proxy->setUserName(1, '张三');
以上内容希望帮助到大家,更多免费PHP大厂PDF,PHP进阶架构视频资料,PHP精彩好文可以微信搜索关注:PHP开源社区