프로그래밍에는 훌륭한 패턴 디자인 아이디어가 많이 있습니다. 이 기사에서는 프록시 패턴을 사용하여 읽기-쓰기 분리를 달성하여 모든 사람이 프록시 패턴에 대해 특정하게 이해할 수 있도록 합니다.
에이전시라는 단어가 많은 학생들에게 익숙할 거라 믿습니다!
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!