真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

適配器模式的php實(shí)例-創(chuàng)新互聯(lián)

這篇文章給大家分享的是有關(guān)適配器模式的php實(shí)例的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考。一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)建站專業(yè)IDC數(shù)據(jù)服務(wù)器托管提供商,專業(yè)提供成都服務(wù)器托管,服務(wù)器租用,內(nèi)江機(jī)房主機(jī)托管,內(nèi)江機(jī)房主機(jī)托管,成都多線服務(wù)器托管等服務(wù)器托管服務(wù)。

 適配器模式 (Adapter Pattern)

Adapter模式也叫適配器模式,是構(gòu)造型模式之一,通過Adapter模式可以改變已有類(或外部類)的接口形式。

適配器模式應(yīng)用場景

在大規(guī)模的系統(tǒng)開發(fā)過程中,我們常常碰到諸如以下這些情況:

我們需要實(shí)現(xiàn)某些功能,這些功能已有還不太成熟的一個(gè)或多個(gè)外部組件,如果我們自己重新開發(fā)這些功能會(huì)花費(fèi)大量時(shí)間;所以很多情況下會(huì)選擇先暫時(shí)使用外部組件,以后再考慮隨時(shí)替換。但這樣一來,會(huì)帶來一個(gè)問題,隨著對(duì)外部組件庫的替換,可能需要對(duì)引用該外部組件的源代碼進(jìn)行大面積的修改,因此也極可能引入新的問題等等。如何大限度的降低修改面呢?Adapter模式就是針對(duì)這種類似需求而提出來的。Adapter模式通過定義一個(gè)新的接口(對(duì)要實(shí)現(xiàn)的功能加以抽象),和一個(gè)實(shí)現(xiàn)該接口的Adapter(適配器)類來透明地調(diào)用外部組件。這樣替換外部組件時(shí),最多只要修改幾個(gè)Adapter類就可以了,其他源代碼都不會(huì)受到影響。

php實(shí)例

假設(shè)我們有一個(gè)文章類已經(jīng)完成了文章的列表及詳細(xì)信息展示工作:

getInfo(1);

由于項(xiàng)目的需要,現(xiàn)在需要這樣的一個(gè)功能。獲取文章細(xì)節(jié)時(shí)還需要獲取文章的創(chuàng)建時(shí)間,并需要更新文章的閱讀次數(shù)。

如果不使用適配器模式我們首先想到的時(shí)修改article類的源代碼增加這樣的功能。之所以這樣想是因?yàn)樯厦娴睦哟a很簡單,如果他是上千行呢?如果getInfo()代碼非常復(fù)雜呢?

使用適配器模式來解決這一切吧!

class articleAdapter{
public $_artObj;
public function __construct($artObj){
$this->_artObj = $artObj;
}
public function getInfo($id){
$this->_artObj->getInfo($id);
}
public function getInfoAndUpdate($id){
//利用$this->_artObj查詢符合要求的文章數(shù)據(jù)并更新瀏覽次數(shù)
echo '$this->_artObj查詢符合要求的文章數(shù)據(jù)并更新瀏覽次數(shù)';
}
}
$art = new articleAdapter(new article());
$art->getInfo(12);
$art->getInfoAndUpdate(12);

為什么不使用繼承?

對(duì)象適配器:不是通過繼承的方式,而是通過對(duì)象組合的方式來進(jìn)行處理的,我們只要學(xué)過OO的設(shè)計(jì)原則的都知道,組合相比繼承是推薦的方式。

類適配器:通過繼承的方式來實(shí)現(xiàn),將舊系統(tǒng)的方法進(jìn)行封裝。對(duì)象適配器在進(jìn)行適配器之間的轉(zhuǎn)換過程中,無疑類適配器也能完成,但是依賴性會(huì)加大,并且隨著適配要求的靈活性,可能通過繼承膨脹的難以控制。

一般來說類適配器的靈活性較差,對(duì)象適配器較靈活,是我們推薦的方式,可以通過依賴注入的方式,或者是配置的方式來做。類適配器需要繼承自要適配的舊系統(tǒng)的類,無疑這不是一個(gè)好的辦法。

感謝各位的閱讀!關(guān)于適配器模式的php實(shí)例就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。


網(wǎng)站欄目:適配器模式的php實(shí)例-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://weahome.cn/article/dpegds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部