ホームページ >バックエンド開発 >PHPチュートリアル >PHP デザイン パターン プロキシ パターン
プロキシモード【PROXY PATTERN】
header("Content-type: text/html; charset=UTF-8");
/**
* プロキシモードとは何ですか?私はとても忙しいので、あなたと話す時間がありません。私を見つけたい場合は、まず私のエージェントに聞いてください。それは、エージェントができることとできないことを知っている必要があります。同じインターフェイスです。
* エージェントは作業できませんが、代理人は作業できます。
*/
// たとえば、Ximen Qing が Pan Jinlian に尋ねると、Pan Jinlian は恥ずかしくて答えることができません。エージェントとして女王を見つけると、プログラムでは次のようになります:
// 最初に女性のタイプを定義します:
/**
* 女性のタイプを定義します。Wang Po と Pan Jinlian は両方ともこのタイプの女性に属します
*/
Interface KindWomen{
//Whatこのタイプの女性は何ができますか?
public function makeEyesWithMan(); // ogling
public function happyWithMan(); // ご存知ですか? public functionwithman () {
echo ("Pan Jinlian's eye") }
// WangPo:
/**
* 潘金蓮がどのような人物かを定義してください
*/
class WangPo は KindWomen を実装します {
private $kindWomen;
/**
* ワン・ポーはとても聡明で、年をとりすぎているので、男性でも彼女を見下すことができません
* しかし、彼女は賢明で経験豊富で、ある種の女性の代理人です!
*/
public function __construct( $kindWomen = null){
if(is_ob)ジェクト($ kindWomen) || $kindWomen インスタンスof KindWomen){
kindWomen = new PanJinLian()
}
}
パブリック関数 Makeeyes withman () {
$ this- & gtwomen- & gt; ワン・ポーは年上ですが、誰が彼女を見ますか? ! ️主人公は全員揃っており、俳優も登場する必要があります:
/*/
class ximenqing {
/**
* あなたがこのタイプであれば、彼女は KindWomen のどの女性のエージェントにもなれます
* * デフォルトでは、Pan Jinlian のエージェントです
* * @param null|KindWomen $kindWomen
*/
public function __construct () {
//王坡王に電話して出てきてください
$ wangpo = new wangpo ();
// すると、西門青は潘金蓮を幸せにしたいと言い、王坡は西門青の箸のショーを手配しました:
$ wangpo- & gt ; Makeeyyeswithman ( ); // 表面上はワン・ポーがやってるけど、実は楽しんでるのはパン・ジンリアンだということがわかりましたか? ;happyWithMan();echo "& lt; br & gt; & lt; br & gt; & lt; br & lt; br & gt; ";
// 歴史を適応させます、Jia は Ximen Qing に夢中になりました:
$ jiashi = new jiashi (); $ WangPo = new WangPo($jiaShi) // Wang Po->makeEyesWithMan() を実行させます "< ;br>
";
}
}
/*
* * これは、プロキシを通じて人々が特定の目標を達成した生きた例です。王坡の本当に削除された、それは直接習です
* メン・チンとパン・ジンリアンが共謀し、呉松が義妹を殺害した事件を達成することは困難であると推定されています。
* では、もう一度考えてみましょう、『水滸伝』にはこういう女性はいますか?はい、Lu Junyi の妻 Jia Shi (家政婦に恋をしている人
*) の名前の由来は次のとおりです: 「もし」なら、Wang Po を彼女のエージェントにすることもできます:
*/
// Put Jia Shi スケッチ: a クラス Jiashi は Kindwomen {
Public Function Makeeyeswithman () {
("Jia's Fmented Eye") {O Echo ("Jia's is in Happy ...."); を実装します。
// Ximenqing Gou Jia:上記のクラスを見てくださいximenqing ..
Jia Shi はオグル
Jia Shi は幸せです...