摘要:該文章屬于編程中的那些經(jīng)典套路設(shè)計(jì)模式匯總系列,并且以下內(nèi)容基于語(yǔ)言今天來(lái)談?wù)剺蚪幽J?,橋接模式的功能在于將兩個(gè)原本不相關(guān)的類(lèi)結(jié)合在一起,然后利用兩個(gè)類(lèi)中的方法和屬性,輸出一份新的結(jié)果。
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP
今天來(lái)談?wù)剺蚪幽J剑瑯蚪幽J降墓δ茉谟趯蓚€(gè)原本不相關(guān)的類(lèi)結(jié)合在一起,然后利用兩個(gè)類(lèi)中的方法和屬性,輸出一份新的結(jié)果。
如圖:
來(lái)看下具體代碼吧:
橋接模式.php
class Info { public $lev; //發(fā)送等級(jí):普通,重要,特級(jí) public $target;//通過(guò)什么方式發(fā)送 //實(shí)際發(fā)送方法 public function Sending($to,$content){ //先把消息等級(jí)確定了 $content = $this->lev->msg($content); $target = $this->target->send($to); return $target.$content; } } //普通消息 class CommonInfo { public function msg($content){ return "普通消息:" . $content; } } //重要消息 class ImportInfo { public function msg($content){ return "重要消息:" . $content; } } //特別消息 class SpecialInfo { public function msg($content){ return "特別消息:" . $content; } } //站內(nèi)發(fā)送方式 class ZnSend { public function send($to){ return "站內(nèi)發(fā)給". $to; } } //QQ發(fā)送方式 class QQSend { public function end($to){ return "QQ發(fā)給". $to; } } //Email發(fā)送方式 class EmailSend { public function send($to){ return "郵箱發(fā)給". $to; } } $info = new Info();//實(shí)例化橋接類(lèi) $info->target = new ZnSend(); //實(shí)例化發(fā)送方式 $info->lev = new CommonInfo();//實(shí)例化消息等級(jí) print_r($info->Sending("小明","回家吃飯"));//調(diào)用橋接類(lèi)方法Sending,讓ZnSend類(lèi)和CommonInfo類(lèi)結(jié)合 //output:站內(nèi)發(fā)給小明普通消息:回家吃飯 ?>
外部調(diào)用的時(shí)候,只需要選擇并實(shí)例化自己需要的類(lèi),然后賦值給橋接器的屬性里,最后就交給橋接器里面的邏輯吧,它會(huì)整合出一份你所需要的結(jié)果,這就是橋接模式
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/21669.html
摘要:如果看不懂的話,可以在評(píng)論區(qū)中提問(wèn),我會(huì)第一時(shí)間回答你無(wú)論何時(shí)我一直都在嗯哼該文章屬于編程中的那些經(jīng)典套路設(shè)計(jì)模式匯總系列 在正式閱讀前,我先談?wù)勎覀冊(cè)撚檬裁醋藙?shì)和心態(tài)學(xué)習(xí)設(shè)計(jì)模式: 如果你還沒(méi)有過(guò)多的編程經(jīng)驗(yàn)(泛指半年以下),我建議你把它當(dāng)做小說(shuō)來(lái)看,能看懂多少是多少,因?yàn)榘肽暌韵陆?jīng)驗(yàn)的程序員用到設(shè)計(jì)模式的情況只會(huì)出現(xiàn)在面試上,至于實(shí)際工作中?相對(duì)來(lái)說(shuō)這部分不會(huì)由你負(fù)責(zé)。 如果你已...
摘要:該文章屬于編程中的那些經(jīng)典套路設(shè)計(jì)模式匯總系列,并且以下內(nèi)容基于語(yǔ)言前面我們寫(xiě)了簡(jiǎn)單工廠模式,編程中的那些套路關(guān)于簡(jiǎn)單工廠模式,但簡(jiǎn)單工廠模式有一些不足違反開(kāi)放封閉原則,所以需要設(shè)計(jì)出一套更加規(guī)范的設(shè)計(jì)模式。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 前面我們寫(xiě)了簡(jiǎn)單工廠模式,《編程中的那些套路——關(guān)于簡(jiǎn)單工廠模式》,但簡(jiǎn)單工廠模式有一些不足(...
摘要:簡(jiǎn)單工廠模式就是遵循了這一原則,它讓不同職責(zé)的類(lèi)各司其職。重點(diǎn)來(lái)了,簡(jiǎn)單工廠模式的不足但是簡(jiǎn)單工廠模式有一個(gè)不足,雖然它遵循了單一職責(zé)原則,但它違反了另一條同樣很重要的原則開(kāi)放封閉原則。 該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 面向?qū)ο笪宕笤瓌t中有一點(diǎn)非常重要的原則:?jiǎn)我宦氊?zé)原則。 簡(jiǎn)單工廠模式就是遵循了這一原則,它讓不同職責(zé)的類(lèi)各司其職。 ...
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 今天來(lái)談?wù)勜?zé)任鏈模式,乍一聽(tīng)責(zé)任鏈模式好像很高級(jí)的一樣,但是相信我,其實(shí)每位天朝的同學(xué)都十分熟悉這個(gè)模式,責(zé)任鏈模式,就好像中國(guó)的官場(chǎng)制度一樣,每一個(gè)級(jí)別的權(quán)利都區(qū)分的很細(xì),舉個(gè)生活中的栗子: 村委不能越級(jí)去替鎮(zhèn)委辦事情,如果村委無(wú)法解決,只能向上求助鎮(zhèn)委 鎮(zhèn)委不能越級(jí)去替市委辦事情,如果鎮(zhèn)委無(wú)法解決,只能向上求...
該文章屬于《編程中的那些經(jīng)典套路——設(shè)計(jì)模式匯總》系列,并且以下內(nèi)容基于語(yǔ)言PHP 在設(shè)計(jì)模式中,單例模式和工廠模式)可以說(shuō)是使用的最普遍的設(shè)計(jì)模式了,所以掌握此種模式尤為重要。 單例模式一般使用在資源共享和需要控制資源的情況下。 例如:購(gòu)物車(chē),回收站,數(shù)據(jù)庫(kù)連接池,計(jì)數(shù)器,配置文件共享等所有項(xiàng)目中只需要存在一個(gè)的模塊,你都可以采用單例模式。 單例模式的好處就在于當(dāng)前進(jìn)程只產(chǎn)生一個(gè)對(duì)象(或者叫...
閱讀 3218·2021-11-17 09:33
閱讀 3298·2021-11-15 11:37
閱讀 2965·2021-10-19 11:47
閱讀 3214·2019-08-29 15:32
閱讀 1018·2019-08-29 15:27
閱讀 1538·2019-08-29 13:15
閱讀 942·2019-08-29 12:47
閱讀 2035·2019-08-29 11:30