博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式之代理模式之读写分离!!!
阅读量:6902 次
发布时间:2019-06-27

本文共 935 字,大约阅读时间需要 3 分钟。

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

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

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

代理这个词,相信很多同学应该不陌生了吧!

1、从非程序来说,代理生活中最常见的就是朋友圈刷屏的各种商品等等。

2、从服务器架构上来说,代理就是转发,好比你和第三者之间需要沟通,但是你还不能直接和他交流,你要靠别人帮你带话,这种中间人就是代理了!

3、从设计模式来说和以上两种类似也就是相等于中间件,然后通过rpc从代理上获取数据

首先我们我们梳理一下使用代理模式做读写分离的步骤

1)接口类必须(统一规范)

首先我们要定义一个接口文件

interface IProxy

{

function getThing($id);

function setThing($id, $name);

}

这样做的目的就是统一规划,按照面向对象编程规范去做!

2)实现接口方法

class Proxy implements IProxy

{

//如果是读操作就用连接从数据库

public functiongetThing($id)

{

$db = Factory::getDatabase('slave');  //工厂模式封装(后面讲)

$db->query("select name from user where id =$id limit 1");

}

//如果是写操作就连接主数据库

publicfunctionsetThing($id, $name)

{

$db = Factory::getDatabase('master');//工厂模式封装(后面讲)

$db->query("update user set name = $name where id =$id limit 1");

}

}

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

转载地址:http://pjvdl.baihongyu.com/

你可能感兴趣的文章
读《买个好房子》| 买房是真的险恶
查看>>
Centos 7 安装 PostgreSQL
查看>>
ubuntu 14.04 anaconda安装
查看>>
iCheck的全选和获取value
查看>>
【连接查询】mySql多表连接查询与union与union all用法
查看>>
带你从零学ReactNative开发跨平台App开发[react native SqlLite 终极运用](十二)
查看>>
求二进制数中1的个数
查看>>
【Spark】提交Spark任务-ClassNotFoundException-错误处理
查看>>
原来你是这样的JAVA[03]-继承、多态、抽象类
查看>>
近年Recsys论文
查看>>
Error-MVC:HTTP Error 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效。...
查看>>
UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence
查看>>
django 笔记
查看>>
Mac下多版本JDK安装
查看>>
记录一则RMAN恢复到历史备份(多个incarnation)
查看>>
『OpenCV3』Mat简介
查看>>
css3-11 如何设置文字的阴影
查看>>
【转】缓存几个重要概念
查看>>
【转】聊聊网络游戏同步那点事
查看>>
Qt之QDomDocument操作xml文件-模拟ini文件存储
查看>>