プログラミングには優れたパターン設計のアイデアが数多くあります。この記事では、誰もがプロキシ パターンをある程度理解できるように、プロキシ パターンを使用して読み取りと書き込みの分離を実現します。
代理店という言葉は多くの学生が知っていると思います。
1. プログラム以外の観点から見ると、エージェントの生活で最も一般的なことは、友人の輪などに現れるさまざまな製品です。
2. サーバー アーキテクチャの観点から見ると、プロキシはサードパーティと通信する必要があるようなものですが、メッセージを運ぶには他の人に頼る必要があります。 . こういう仲介業者は代理店です!
3. デザインモードからは上記の2つと同様、つまりミドルウェアに相当し、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"); } }
このようにして、プロキシモードのデータ読み書き分離動作を簡単に実現します!もちろん、これは 1 つのモデルに対する操作にすぎません。オブジェクト指向プログラミングの仕様に厳密に従っている限り、Friends は複数のモデルを独自にカプセル化できます。
関連する推奨事項:
P HPデザインパターン、デコレーターパターンの詳細な説明 解決策
以上がPHP 設計のアイデア: プロキシ モードと読み取りと書き込みの分離の実践の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。