Maison  >  Article  >  développement back-end  >  Idées de conception PHP : mode proxy et pratique de la séparation de la lecture et de l'écriture

Idées de conception PHP : mode proxy et pratique de la séparation de la lecture et de l'écriture

*文
*文original
2017-12-25 10:05:321545parcourir

Il existe de nombreuses excellentes idées de conception de modèles en programmation. Cet article utilise le modèle de proxy pour réaliser une séparation lecture-écriture afin de donner à chacun une certaine compréhension du modèle de proxy.

Je pense que de nombreux étudiants connaissent le mot agence !

1. D'un point de vue hors programme, la chose la plus courante dans la vie d'un agent, ce sont les différents produits qui apparaissent dans le cercle d'amis, etc.

2. Du point de vue de l'architecture du serveur, un proxy est un redirecteur. C'est comme si vous deviez communiquer avec un tiers, mais vous ne pouvez pas communiquer directement avec lui. Vous devez compter sur les autres pour vous aider. avec le message. Ce genre d’intermédiaire C’est un agent !

3. Du point de vue du mode conception, il est similaire aux deux ci-dessus, c'est-à-dire qu'il est équivalent au middleware, puis obtient les données de l'agent via rpc


Commençons par trier les étapes d'utilisation du mode proxy pour séparer la lecture et l'écriture

1) La classe d'interface doit (spécification unifiée)

Nous devons d'abord définir une interface fichier

interface IProxy
{
function getThing($id);
function setThing($id, $name);
}

comme celui-ci Le but est d'unifier la planification et de le faire conformément aux spécifications de la programmation orientée objet !

"Spécification de programmation orientée objet PHP"

2) Implémenter la méthode d'interface

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

De cette façon, l'opération de séparation de lecture et d'écriture des données du mode proxy est tout simplement réalisé ! Bien sûr, il ne s'agit que d'une opération sur un seul modèle. Les amis peuvent encapsuler eux-mêmes plusieurs modèles, à condition qu'ils suivent strictement les spécifications de la programmation orientée objet !


Recommandations associées :

Explication détaillée du modèle d'adaptateur du modèle de conception PHP

Explication détaillée du modèle Iterator des modèles de conception PHP

Explication détaillée du modèle Décorateur de PHP modèles de conception

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn