PHP設計模式之橋接模式

2021-09-02 16:07:58 字數 1246 閱讀 3659

<?php

/** *

* 橋接模式:

* 如 論壇給使用者傳送站內信 手機 sms資訊 ,資訊的程度分為普通 加急 緊急 三種不同的程度;

* */

#第一種情況 不考慮使用橋接模式的情況下,普通模式,我們會這麼寫;

/*inte***ce msg

class znmsg implements msg

}class smsmsg implements msg

}class phonemsg implements msg

}#然後因為資訊的程度分為普通 加急 緊急 三種不同的程度,所以這樣;

class commonznmsg extends znmsg

}class warnznmsg extends znmsg

}class dangerznmsg extends znmsg}*/

//$methods = get_class_methods('commonznmsg');

//$propertities = get_class_vars('commonznmsg');

//var_dump($propertities);

//對於以上這種設計模式,明顯是不合理的,3*3 相當於有9種情況;如果再多一種情況,那明顯就27種情況了;所以下面我們使用

//橋接模式,很明顯可以改善這種情況;

#第二種情況,使用橋接模式;

inte***ce msg

class znmsg implements msg

}class smsmsg implements msg

}class phonemsg implements msg

}abstract class info

abstract function msg($content);

public function sendmsg($name,$content)

}class commoninfo extends info

}class warninfo extends info

}class dangerinfo extends info

}$zn = new dangerinfo(new znmsg());

$zn->sendmsg('小豬','要好好努力啊!');

$zn = new commoninfo(new znmsg());

$zn->sendmsg('小豬','要好好努力啊!');

PHP設計模式之橋接模式

生活場景引入 現在的生活都離不開手機,手機中又有不同的品牌,小公尺,華為,三星,蘋果。每一種手機的設計又不一樣,比如最開始的翻蓋手機,直板手機,到現在的全面屏手機,假如現在的每個手機廠商都是最開始從翻蓋手機做起,雖然手機的樣子不一樣,但是手機的主要功能還是沒有變的,開機,打 發簡訊,關機 這些個最基...

PHP設計模式 橋接模式

程式開發中,我們面對不同的資訊 m種資訊,用不通的工具 n種工具 傳送,按照單一職責原則,我們可能需要使用m n種類來完成此項功能,這樣會使程式顯得非常臃腫,所以,需要用一種方式來完成此項工作 橋接模式 原理 把傳送工具 傳送器 當做乙個父類的乙個屬性來呼叫傳送工具中的方法,來進行訊息傳送。方法一 ...

設計模式之橋接模式

public class test 兩個維度 乙個是具體產品,如狗 豬 乙個是抽象產品,如溫順的動物 冷酷的動物 排列組合 如溫順的狗 冷酷的豬等 abstract class animal 該橋接類的引入是關鍵 abstract class animalbridge extends animal ...