为了账号安全,请及时绑定邮箱和手机立即绑定

设计模式之代理模式之读写分离!!!

标签:
PHP

小伙伴们你们的小可爱逗比又上线了!!!

图片描述

最近感觉带表情的文章看多了,写篇文章不放上几十个表情感觉自己都写不出来什么!!!原谅你们的小可爱放荡。。。不羁。。。爱谁谁!!!

图片描述

好了好了,开始上课了,今天你们的刘老师要讲的内容是?对对对!!!最后面那个同学说的对,就是设计模式之代理模式额外加读写分离设计!下课别走啊,刚才哪位同学!!!

代理这个词,相信很多同学应该不陌生了吧!
1、从非程序来说,代理生活中最常见的就是朋友圈刷屏的各种商品等等。
2、从服务器架构上来说,代理就是转发,好比你和第三者之间需要沟通,但是你还不能直接和他交流,你要靠别人帮你带话,这种中间人就是代理了!
3、从设计模式来说和以上两种类似也就是相等于中间件,然后通过rpc从代理上获取数据

图片描述

首先我们我们梳理一下使用代理模式做读写分离的步骤
1)接口类必须(统一规范)
首先我们要定义一个接口文件

interface IProxy
{
function getThing($id);
function setThing($id, $name);
}
这样做的目的就是统一规划,按照面向对象编程规范去做!

《PHP面向对象编程规范》

2)实现接口方法
class Proxy implements IProxy
{

//如果是读操作就用连接从数据库
public function getThing($id)
{
$db = Factory::getDatabase('slave'); //工厂模式封装(后面讲)
$db->query("select name from user where id =$id limit 1");
}

//如果是写操作就连接主数据库
public function setThing($id, $name)
{
    $db = Factory::getDatabase('master');  //工厂模式封装(后面讲)
    $db->query("update user set name = $name where id =$id limit 1");
}

}

这样呢简单的就实现了代理模式的数据读写分离的操作!当然这只是对莫一个模型的操作,小伙伴们可以自行封装多个模型,只要严格按照面向对象编程规范就可以了!
图片描述

点击查看更多内容
9人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
PHP开发工程师
手记
粉丝
85
获赞与收藏
1150

关注作者,订阅最新文章

阅读免费教程

感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消