成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

PHP設(shè)計(jì)模式(七)適配器模式(Adapter For PHP)

silvertheo / 442人閱讀

摘要:適配器模式將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。如下待適配對(duì)象電子書翻頁電子書打開客戶端測試輸出結(jié)果電子書打開電子書翻頁

適配器模式:將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口,使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。

先來看一個(gè)案例:
設(shè)置書的接口
// 書接口
interface BookInterface
{
    // 翻頁方法
    public function turnPage();

    // 打開書方法
    public function open();
}
// 紙質(zhì)書實(shí)現(xiàn)類
class Book implements BookInterface
{
    public function turnPage()
    {
        echo "紙質(zhì)書翻頁". "
"; } public function open() { echo "紙質(zhì)書打開". "
"; } }
客戶端測試:
// 客戶端測試
$book = new Book();
$book->open();
$book->turnPage();
輸出結(jié)果:
紙質(zhì)書打開
紙質(zhì)書翻頁
這時(shí)候,你想創(chuàng)建一個(gè)可以復(fù)用的類,該類可以與其他不相關(guān)的類或不可預(yù)見的類(即那些接口可能不一定兼容的類)協(xié)同工作。如下:
// 待適配對(duì)象
class Kindle
{
    public function turnPage()
    {
        echo "電子書翻頁". "
"; } public function open() { echo "電子書打開". "
"; } }
class KindleAdapter implements BookInterface
{
    protected $_kindle;

    public function __construct($obj)
    {
        $this->_kindle = $obj;
    }


    public function turnPage()
    {
        $this->_kindle->turnPage();
    }

    public function open()
    {
        $this->_kindle->open();
    }
}
客戶端測試:
$kindle = new KindleAdapter(new Kindle());
$kindle->open();
$kindle->turnPage();
輸出結(jié)果:
電子書打開
電子書翻頁

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/29538.html

相關(guān)文章

  • PHP基礎(chǔ)

    摘要:分別為適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。設(shè)計(jì)模式五適配器模式適配器模式將某個(gè)對(duì)象的接生成器和協(xié)程的實(shí)現(xiàn)在這篇文章中,作者針對(duì)那些比較難以理解的概念,以一個(gè)更為通俗的方式去講明白。。 PHP 源碼注解 PHP 的詳細(xì)源碼注解 PHP 字符串操作整理 一些有關(guān)字符串的常用操作。 Redis 常見七種使用場景 (PHP 實(shí)戰(zhàn)) 這篇文章主要介紹利用 R...

    HtmlCssJs 評(píng)論0 收藏0
  • PHP設(shè)計(jì)模式(十):配器模式

    摘要:原文地址設(shè)計(jì)模式十適配器模式在設(shè)計(jì)模式七設(shè)計(jì)模式分類中我們提到過結(jié)構(gòu)設(shè)計(jì)模式,結(jié)構(gòu)設(shè)計(jì)模式專注于設(shè)計(jì)對(duì)象和實(shí)例的構(gòu)建組合過程。適配器模式在不修改現(xiàn)有代碼的基礎(chǔ)上,保留了架構(gòu)。 原文地址:PHP設(shè)計(jì)模式(十):適配器模式 Introduction 在PHP設(shè)計(jì)模式(七):設(shè)計(jì)模式分類中我們提到過結(jié)構(gòu)設(shè)計(jì)模式(Structural patterns),結(jié)構(gòu)設(shè)計(jì)模式專注于設(shè)計(jì)對(duì)象(Objec...

    paney129 評(píng)論0 收藏0
  • PHP設(shè)計(jì)模式-Adapter 配器模式

    摘要:大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打適配器模式來自說明通過適配器模式能夠使用新的代碼和功能性來幫助更新原有的系統(tǒng)。 整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打 /** * Adapter 適配器模式 * ---------------------------...

    Forelax 評(píng)論0 收藏0
  • PHP設(shè)計(jì)模式-Adapter 配器模式

    摘要:大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打適配器模式來自說明通過適配器模式能夠使用新的代碼和功能性來幫助更新原有的系統(tǒng)。 整理一下自己的學(xué)習(xí)Aaron Saray 寫的PHP設(shè)計(jì)模式一些demo和自己的理解。大佬看完如果發(fā)現(xiàn)鄙人理解有誤請(qǐng)立即指出,感謝拍磚,跪求鞭打 /** * Adapter 適配器模式 * ---------------------------...

    CastlePeaK 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<