生活場景引入:
現在的生活都離不開手機,手機中又有不同的品牌,小公尺,華為,三星,蘋果。每一種手機的設計又不一樣,比如最開始的翻蓋手機,直板手機,到現在的全面屏手機,假如現在的每個手機廠商都是最開始從翻蓋手機做起,雖然手機的樣子不一樣,但是手機的主要功能還是沒有變的,[開機,打**,發簡訊,關機]這些個最基本的功能都是會有的。那麼如果不適用設計模式來解決這個問題,我們就會有一下的方式:有乙個手機的基類,定義了手機的基本功能,然後是各大品牌廠商繼承這個積累做手機,最後廠商根據不同形態的手機做出對應的定製化的手機功能,如果未來發展需要做一款,**手機,那麼就需要再去加乙個**收的模板,最後,各大廠商再去繼承這個隱形手機的模板,再去做適配,要新增很多東西去適配,不利於維護和發展,而且如果還要再去加乙個功能,那麼每個手機都要去加這個功能,很難維護
根據以上場景的匯入,現在就有了橋接模式為我們程式解決這個問題。
inte***ce brandinte***ce
class xiaomibrand implements brandinte***ce
public function open()
public function close()
}class huaweibrand implements brandinte***ce
public function open()
public function close()
}
abstract class phone
public function open()
public function close()
public function call()
}class foldedphone extends phone
public function close()
public function call()
}class uprightphone extends phone
public function close()
public function call()
}
class client
}require './../vendor/autoload.php';
new client();
//小公尺手機打**
//摺疊樣式手機
//小公尺手機開機
//摺疊樣式手機
//小公尺手機關機
//摺疊樣式手機
//*************************===
//華為手機打**
//摺疊樣式手機
//華為手機開機
//摺疊樣式手機
//華為手機關機
//摺疊樣式手機
//*************************===
//華為手機開機
//直板樣式手機
//華為手機打**
//直板樣式手機
//華為手機關機
//直板樣式手機
PHP設計模式之橋接模式
橋接模式 如 論壇給使用者傳送站內信 手機 sms資訊 資訊的程度分為普通 加急 緊急 三種不同的程度 第一種情況 不考慮使用橋接模式的情況下,普通模式,我們會這麼寫 inte ce msg class znmsg implements msg class smsmsg implements msg...
PHP設計模式 橋接模式
程式開發中,我們面對不同的資訊 m種資訊,用不通的工具 n種工具 傳送,按照單一職責原則,我們可能需要使用m n種類來完成此項功能,這樣會使程式顯得非常臃腫,所以,需要用一種方式來完成此項工作 橋接模式 原理 把傳送工具 傳送器 當做乙個父類的乙個屬性來呼叫傳送工具中的方法,來進行訊息傳送。方法一 ...
設計模式之橋接模式
public class test 兩個維度 乙個是具體產品,如狗 豬 乙個是抽象產品,如溫順的動物 冷酷的動物 排列組合 如溫順的狗 冷酷的豬等 abstract class animal 該橋接類的引入是關鍵 abstract class animalbridge extends animal ...