php中適配器模式的詳細解析(附程式碼)
php
設計模式
這篇文章帶給大家的內容是關於php中適配器模式的詳細解析(附程式碼),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
適配器模式(PHP實作)
e.g.
//目標角色
1.介面擁有多個方法
##//來源角色1.只擁有部分部分方法//適配器角色1.委派呼叫來源角色已經存在的方法2.適配增加客戶端需要其他方法//客戶端1.設定靜態方法2.實例化來源角色3.透過構造方法將注入適配器模式(Adapter)模式:將一個類別的接口,轉換成客戶期望的另一個類別的接口。適配器讓原本介面不相容的類別可以合作無間。 【適配器模式中主要角色】目標(Target)角色:定義客戶端所使用的與特定領域相關的接口,這也就是我們所期待得到的來源(Adaptee)角色:需要進行適應的介面適配器(Adapter)角色:對Adaptee的介面與Target介面進行適配器;適配器是本模式的核心,而適配器將來源介面轉換成目標接口,此角色為具體類別。 其實也就是你家牆上有一個兩口的插座(Adaptee),但你買了一個電風扇(Target)需要三個口的,這個時候你就需要一個插排(Adapter)。 類別適配器採用「多繼承」的實作方式,帶來了不良的高耦合,所以一般不建議使用。物件適配器採用「物件組合」的方式,更符合鬆散耦合精神。 類別適配器使用的是繼承e.g.:/** * 目标角色 */ interface Target { /** * 源类也有的方法1 */ public function sampleMethod1(); /** * 源类没有的方法2 */ public function sampleMethod2(); } /** * 源角色 */ class Adaptee { /** * 源类含有的方法 */ public function sampleMethod1() { echo 'Adaptee sampleMethod1 <br />'; } } /** * 类适配器角色 */ class Adapter extends Adaptee implements Target { /** * 源类中没有sampleMethod2方法,在此补充 */ public function sampleMethod2() { echo 'Adapter sampleMethod2 <br />'; } } class Client { /** * Main program. */ public static function main() { $adapter = new Adapter(); $adapter->sampleMethod1(); $adapter->sampleMethod2(); } }
登入後複製
/** * 目标角色 */ interface Target { /** * 源类也有的方法1 */ public function sampleMethod1(); /** * 源类没有的方法2 */ public function sampleMethod2(); } /** * 源角色 */ class Adaptee { /** * 源类含有的方法 */ public function sampleMethod1() { echo 'Adaptee sampleMethod1 <br />'; } } /** * 类适配器角色 */ class Adapter implements Target { private $_adaptee; public function __construct(Adaptee $adaptee) { $this->_adaptee = $adaptee; } /** * 委派调用Adaptee的sampleMethod1方法 */ public function sampleMethod1() { $this->_adaptee->sampleMethod1(); } /** * 源类中没有sampleMethod2方法,在此补充 */ public function sampleMethod2() { echo 'Adapter sampleMethod2 <br />'; } } class Client { /** * Main program. */ public static function main() { $adaptee = new Adaptee(); $adapter = new Adapter($adaptee); $adapter->sampleMethod1(); $adapter->sampleMethod2(); } }
登入後複製
php如何產生HTML檔案的類別? php產生html檔案類別的方法
如何除錯PHP程式碼? php程式碼偵錯的方法總結(建議)#
以上是php中適配器模式的詳細解析(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前
By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
擊敗分裂小說需要多長時間?
3 週前
By DDD
R.E.P.O.保存文件位置:在哪里以及如何保護它?
3 週前
By DDD

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

適用於 Ubuntu 和 Debian 的 PHP 8.4 安裝和升級指南

如何設定 Visual Studio Code (VS Code) 進行 PHP 開發
