摘要:適配器模式將一個類的接口轉換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。如下待適配對象電子書翻頁電子書打開客戶端測試輸出結果電子書打開電子書翻頁
適配器模式:將一個類的接口轉換成客戶希望的另外一個接口,使得原本由于接口不兼容而不能一起工作的那些類可以在一起工作。
先來看一個案例:// 書接口 interface BookInterface { // 翻頁方法 public function turnPage(); // 打開書方法 public function open(); }
// 紙質書實現類 class Book implements BookInterface { public function turnPage() { echo "紙質書翻頁". "
"; } public function open() { echo "紙質書打開". "
"; } }
// 客戶端測試 $book = new Book(); $book->open(); $book->turnPage();
紙質書打開 紙質書翻頁這時候,你想創(chuàng)建一個可以復用的類,該類可以與其他不相關的類或不可預見的類(即那些接口可能不一定兼容的類)協(xié)同工作。如下:
// 待適配對象 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();
電子書打開 電子書翻頁
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/29538.html
摘要:原文地址設計模式十適配器模式在設計模式七設計模式分類中我們提到過結構設計模式,結構設計模式專注于設計對象和實例的構建組合過程。適配器模式在不修改現有代碼的基礎上,保留了架構。 原文地址:PHP設計模式(十):適配器模式 Introduction 在PHP設計模式(七):設計模式分類中我們提到過結構設計模式(Structural patterns),結構設計模式專注于設計對象(Objec...
摘要:大佬看完如果發(fā)現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打適配器模式來自說明通過適配器模式能夠使用新的代碼和功能性來幫助更新原有的系統(tǒng)。 整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發(fā)現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打 /** * Adapter 適配器模式 * ---------------------------...
摘要:大佬看完如果發(fā)現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打適配器模式來自說明通過適配器模式能夠使用新的代碼和功能性來幫助更新原有的系統(tǒng)。 整理一下自己的學習Aaron Saray 寫的PHP設計模式一些demo和自己的理解。大佬看完如果發(fā)現鄙人理解有誤請立即指出,感謝拍磚,跪求鞭打 /** * Adapter 適配器模式 * ---------------------------...
閱讀 3729·2021-09-22 15:49
閱讀 3300·2021-09-08 09:35
閱讀 1422·2019-08-30 15:55
閱讀 2321·2019-08-30 15:44
閱讀 714·2019-08-29 16:59
閱讀 1597·2019-08-29 16:16
閱讀 479·2019-08-28 18:06
閱讀 890·2019-08-27 10:55