>백엔드 개발 >PHP 튜토리얼 >PHP 디자인 아이디어: 프록시 모드 및 읽기와 쓰기 분리 연습

PHP 디자인 아이디어: 프록시 모드 및 읽기와 쓰기 분리 연습

*文
*文원래의
2017-12-25 10:05:321633검색

프로그래밍에는 훌륭한 패턴 디자인 아이디어가 많이 있습니다. 이 기사에서는 프록시 패턴을 사용하여 읽기-쓰기 분리를 달성하여 모든 사람이 프록시 패턴에 대해 특정하게 이해할 수 있도록 합니다.

에이전시라는 단어가 많은 학생들에게 익숙할 거라 믿습니다!

1. 프로그램이 아닌 관점에서 볼 때, 에이전트 생활에서 가장 흔한 것은 친구들 사이에서 나타나는 다양한 제품입니다.

2. 서버 아키텍처의 관점에서 프록시는 제3자와 통신해야 하는 것과 같지만 메시지를 전달하려면 다른 사람에게 의존해야 합니다. . 이런 중개인은 대리자입니다!

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");
}
}

이렇게 하면 프록시 모드의 데이터 읽기 쓰기 분리 동작이 간단하게 구현됩니다! 물론 이것은 하나의 모델에 대한 작업일 뿐입니다. 객체 지향 프로그래밍 사양을 엄격히 준수하는 한 친구는 여러 모델을 스스로 캡슐화할 수 있습니다!


관련 권장사항:

php 디자인 패턴 - 어댑터 패턴에 대한 자세한 설명

PHP 디자인 패턴의 반복자 패턴에 대한 자세한 설명

에 대한 자세한 설명 PHP 디자인 패턴의 데코레이터 패턴 솔루션

위 내용은 PHP 디자인 아이디어: 프록시 모드 및 읽기와 쓰기 분리 연습의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.