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

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

PHP設(shè)計模式之適配器模式

index.php

創(chuàng)新互聯(lián)建站是一家以網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、品牌設(shè)計、軟件運維、成都網(wǎng)站推廣、小程序App開發(fā)等移動開發(fā)為一體互聯(lián)網(wǎng)公司。已累計為成都酒店設(shè)計等眾行業(yè)中小客戶提供優(yōu)質(zhì)的互聯(lián)網(wǎng)建站和軟件開發(fā)服務(wù)。

write();
//【主要角色】
//目標(Target)角色:定義客戶端使用的與特定領(lǐng)域相關(guān)的接口,這也就是我們所期待得到的
//源(Adaptee)角色:需要進行適配的接口
//適配器(Adapter)角色:對Adaptee的接口與Target接口進行適配;適配器是本模式的核心,適配器把源接口轉(zhuǎn)換成目標接口,此角色為具體類
//使用場景
//1、你想使用一個已經(jīng)存在的類,而它的接口不符合你的需求
//2、你想創(chuàng)建一個可以復(fù)用的類,該類可以與其他不相關(guān)的類或不可預(yù)見的類協(xié)同工作
//3、你想使用一個已經(jīng)存在的子類,但是不可能對每一個都進行子類化以匹配它們的接口。對象適配器可以適配它的父類接口(僅限于對象適配器)
//以下為增加新的功能
$error=new logToCSVAdapter("404:Not Found");
$log=new logToCSV($error);
$log->write();
?>

原始功能類

errorObject.class.php

_error=$error;
    }
                                                                                                                                 
    function getError(){
        return $this->_error;
    }
}
?>

logToConsole.class.php

_errorObject=$o;
    }
                                                                                                                       
    function write(){
        fwrite(STDERR, $this->_errorObject->getError());
    }
}
?>

以上就是原來的功能,將指定的錯誤輸出到控制臺顯示出來.現(xiàn)在的需求是擴展一個寫入CSV文件中得功能.在不改變原來的功能的情況下.擴展功能

logToCSV.class.php

_errorObject=$o;
    }
                                                                                              
    function write(){
        $line=$this->_errorObject->getErrorNumber();
        $line.=',';
        $line.=$this->_errorObject->getErrorText();
        $line.="\n";
        file_put_contents(self::CSV_LOCATION, $line,FILE_APPEND);
    }
}
?>

接下來要做的就是將新得logToCSV方法和原來寫得errorObject連接起來使用,兩種方法,可以更改原來得errorObject類,或者是使用適配器模式,新增一個基類,來重寫原來的功能

logToCSVAdapter.class.php

_errorNumber=$parts[0];
        $this->_errorText=$parts[1];
    }
      
    function getErrorNumber(){
        return $this->_errorNumber;
    }
      
    function getErrorText(){
        return $this->_errorText;
    }
}
?>

標題名稱:PHP設(shè)計模式之適配器模式
鏈接分享:http://weahome.cn/article/gooeis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部